UniExplorers
Exchange for everyone
IS213: G1T1
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
2
BUSINESS PROBLEM
We believe global exposure is key to a well-rounded education
“Ensure inclusive and equitable quality education and promote lifelong learning for all”
Global traction and understanding underpins success in careers in today’s globally connected environment. To have global exposure from the vantage of a university education is invaluable for international networking and global vision; it also open doors to bigger opportunities.
When students approach their global exposure opportunities with an enthusiastic and open mind, the benefits are immense. Academically, gaining a first-hand, real-world perspective of issues learnt in the classroom serves to deepen students’ learning and knowledge application. More importantly, the journey builds independence, empathy, open-mindedness, not to mention soft-skills like communication and teamwork. These attributes not only build character and personal development, but also give students an edge when they are seeking employment and advancement in the competitive workplace.
The UN Sustainable Development Goals hold that quality education is a right for everyone
This opinion is echoed by SMU’s Graduate Learning Outcomes, under the Global Citizenship category
Given the vast importance of Global Exposure, we believe that access to opportunities such as exchange should be as widely available as possible.
Therefore…
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
3
BUSINESS PROBLEM
Information regarding exchange is dispersed and volatile
Management
Managing
Strategy
Operations
Course mappings change often
What mapped one semester may not the next
SMU’s own course offerings also change
!
Information is hard to access
Information is passed from person to person
If you don’t know anyone, you’re out of luck
!
What students look for differs
Each student’s interests differ
What each student looks for differs too
!
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
A personalized, user-centric experience connecting students and universities aligned with their personal preferences is key
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
4
MONETIZATION
Our business model lends itself to monetization easily
Strategic options are available to universities looking to gather data and promote themselves
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
Students benefit
Universities benefit
Both students and universities get access to higher-quality opportunities with interested and engaged counterparts
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
5
BUSINESS PROBLEM
Student forums demonstrate a clear need for such a solution
“hi anyone who has been to thammasat uni for exchange can pm me pls! need help regarding course mapping thank you”
“Hi :-) has anyone been to Spain for exchange? I just have a few quick questions regarding the visa process, please PM me! Would really appreciate it :-)”
“Hello! Anybody going Vilnius University? Please PM me. :)”
“Hi anybody done their exchange at university of gothenburg please pm me!”
“hello! If anybody is heading back to Barcelona, Spain from SG soon/end of year, I would greatly appreciate a DM! thanks!!”
“Hi, has anybody done or planning to do exchange in Tokyo in spring? Pls pm me thanks!”
Source: ask.SMU
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
Uniexplorers
Exchange for everyone
Introducing…
All the information, at your fingertips
Centralized course mapping information, regularly updated
Amenities and reviews, all in one place
An exchange network, for all
Chat with seniors and prospective exchangers in an open forum
Connect with other students also going on exchange
Personal, tailored recommendations
Threads recommended based on activity and interaction
Universities suggested to match your interests and goals
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
UniExplorers
Exchange for everyone
User Scenarios & Demo
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
8
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
USER PERSONAS
From student’s posts, we can derive a few user personas…
“hi anyone who has been to thammasat uni for exchange can pm me pls! need help regarding course mapping thank you”
“Hi :-) has anyone been to Spain for exchange? I just have a few quick questions regarding the visa process, please PM me! Would really appreciate it :-)”
“Hello! Anybody going Vilnius University? Please PM me. :)”
“Hi anybody done their exchange at university of gothenburg please pm me!”
“hello! If anybody is heading back to Barcelona, Spain from SG soon/end of year, I would greatly appreciate a DM! thanks!!”
“Hi, has anybody done or planning to do exchange in Tokyo in spring? Pls pm me thanks!”
Foreign exchange student heading home
Students confirmed for exchange planning their travel and looking for friends
Students with a university in mind looking to map their courses
Students exploring different universities and hoping to learn about others’ experiences on exchange
Missing!
Considering
On Exchange
Planning
Confirmed
Alumni
Source: ask.SMU
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
9
USER PERSONAS
…of which, we chose 3 to focus our solution on
Prospective Exchange Student
Looking to learn about suitable universities
considering, planning
Alumni / Student On Exchange
Wishes to share about their experience overseas
alumni, on exchange
Any Interested Student
Wishes to participate in a discussion
considering, planning, confirmed, on exchange, alumni
1
2
3
Considering
On Exchange
Planning
Confirmed
Alumni
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
10
USER PERSONAS
…of which, we chose 3 to focus our solution on
Prospective Exchange Student
Looking to learn about suitable universities
considering, planning
Alumni / Student On Exchange
Wishes to share about their experience overseas
alumni, on exchange
Any Interested Student
Wishes to participate in a discussion
considering, planning, confirmed, on exchange, alumni
1
2
3
Considering
On Exchange
Planning
Confirmed
Alumni
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
11
USER PERSONAS
…of which, we chose 3 to focus our solution on
Prospective Exchange Student
Looking to learn about suitable universities
considering, planning
Alumni / Student On Exchange
Wishes to share about their experience overseas
alumni, on exchange
Any Interested Student
Wishes to participate in a discussion
considering, planning, confirmed, on exchange, alumni
1
2
3
Considering
On Exchange
Planning
Confirmed
Alumni
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
Actions
12
Scenario : Prospective Exchange Student
Looking to learn about suitable universities
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
USER SCENARIOS
1
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
13
Scenario : Prospective Exchange Student
Action 1: Login and Onboarding
USER SCENARIOS
1
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
14
Scenario : Prospective Exchange Student
Action 2: Checking out recommended universities
USER SCENARIOS
1
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
15
Scenario : Prospective Exchange Student
Action 3: Joining automatically created Telegram group
USER SCENARIOS
1
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
Actions
16
USER SCENARIOS
Scenario : Alumni / Student On Exchange
Wishes to share about their experience overseas
2
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
17
USER SCENARIOS
Scenario : Alumni / Student On Exchange
Action 1a: Visit university’s home page and leave a review
2
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
18
USER SCENARIOS
Scenario : Alumni / Student On Exchange
Action 1b: Leaving a review
2
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
19
USER SCENARIOS
Scenario : Alumni / Student On Exchange
Action 2a: Visiting university’s forum
2
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
20
USER SCENARIOS
Scenario : Alumni / Student On Exchange
Action 2b: Participating in discussions on the university’s forum
2
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
21
USER SCENARIOS
Scenario : Alumni / Student On Exchange
Action 3a: Search for user to chat with
2
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
22
USER SCENARIOS
Scenario : Alumni / Student On Exchange
Action 3b: Start chatting with user
2
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
Actions
23
USER SCENARIOS
Scenario : Any Interested Student
Keep up-to-date with relevant forum discussions
3
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
24
USER SCENARIOS
Scenario : Any Interested Student
Action 1: Watching thread to receive notifications
3
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
25
USER SCENARIOS
Scenario : Any Interested Student
Action 2: Receive notification upon thread activity and view thread by clicking on notification
3
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
UniExplorers
Exchange for everyone
26
Technical Overview
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
27
Telegram
Universities
Notification
Forum & Comments
Images
Ranker
RabbitMQ
Auth
Recommender
User
Client
Chat
Location
Forum & Comments
Forum
FF
Monitoring
ARCHITECTURE
Solution Architecture
Diagram
Legend
Complex MS
Simple MS
Database
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
28
ARCHITECTURE
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
Solution Architecture
Diagram
Legend
Complex MS
Simple MS
Database
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
UniExplorers
Exchange for everyone
Technical Features
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
30
TECHNICAL OVERVIEW
A selection of technologies we have implemented
Networking / Interaction technologies
Deployment technologies
Computing technologies
Database
Redis
MongoDB
Postgres
Web Servers
Express.JS
Go gRPC
Axum
Spring
FastAPI
Containerization
Docker Compose development environment
Authentication
External authentication using Clerk API
API Gateway
Kong API Gateway at ingress and egress
API Protocols
Containers orchestrated using Kubernetes to enable auto-scaling and auto-healing
Containerization
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
Grafana for monitoring and visualizing performance metrics
Prometheus - Collect & store metrics data related to system
Monitoring
Socket.io
gRPC
WebSocket
REST
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
31
We leverage PostgreSQL's support for ACID-compliant transactional workloads and its ability to execute complex recursive queries efficiently
TECHNICAL FEATURE
Polyglot database selection and management
PostgreSQL Forum DB: ACID-Compliant + Enable recursive queries for constructing comment tree
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
32
TECHNICAL FEATURE
Polyglot database selection and management
Redis for caching similarity data: Prevent repeated expensive computation
The expensive NLP-based similarity computation results are cached into Redis to prevent unnecessary repeated calls.
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
33
TECHNICAL FEATURE
Polyglot database selection and management
MongoDB for storing course mapping and location data: Efficient NoSQL storage
For JSON data such as scraped course-mappings, place information and messages between users, we utilize MongoDB to enable efficient storage and retrieval.
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
34
TECHNICAL FEATURE
Web Scraping using Selenium
Automated Data Retrieval: Quarterly update of Course Mappings
Backend scheduler runs every quarter to scrape and keep up to date with the latest course mappings
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
35
Forum
TECHNICAL FEATURE
Chat
MongoDB Driver
Knex.JS ORM
Polyglot web servers to suit different purposes
Express.JS on JavaScript: Leverage the Node.JS ecosystem for different database connectors
The mature Node.JS ecosystem implements handy libraries that allow us to interface with our multitude of databases easily
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
36
Language
gRPC enables low-latency communication.
Go’s built-in concurrency is ideal for high-performance microservices.
Protocol
Web Server
TECHNICAL FEATURE
Polyglot web servers to suit different purposes
Mux on Go: Leverage the tight integration with gRPC to enable low-latency communication
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
37
TECHNICAL FEATURE
Polyglot web servers to suit different purposes
Socket.IO in Node.js: Effortless bi-directional streaming between Node.js Server and browser client
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
Client A
Client B
Client C
Server
Socket A
Socket B
Socket C
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
38
TECHNICAL FEATURE
Polyglot web servers to suit different purposes
Axum on Rust: Guarantee fearless concurrency and multi-threaded recommendation
Rust Ranking
University
Rust web servers enable concurrency and thread-safe behaviour - all clients can access the cached ranking data without fear of race conditions or the like.
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
39
TECHNICAL FEATURE
Polyglot web servers to suit different purposes
FastAPI on Python: Enable integration with Gensim
Python has a very mature NLP development ecosystem with model inference easily accessible through logical APIs.
We chose FastAPI over Flask due to Swagger integration, type-enforcement with PyDantic, and generally faster speeds
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
40
TECHNICAL FEATURE
Semantic similarity for determining recommendations
Gensim / Numpy on Python: Fast vector computations
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
economics | finance | trading | markets | stocks |
writing | poetry | novels | sonnets | arts |
Liberal arts | Creative writing | Literary analysis | Journalism | Shakespeare |
Student A
Student B
Arts University
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
41
TECHNICAL FEATURE
Semantic similarity for determining recommendations (cont.)
Gensim / Numpy on Python: Fast vector computations
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
economics | finance | trading | markets | stocks |
writing | poetry | novels | sonnets | arts |
Liberal arts | Creative writing | Literary analysis | Journalism | Shakespeare |
Student A
Student B
Arts University
[[vec_1_1, vec_2_1, vec_3_1, vec_4_1, vec_5_1],
[vec_1_2, vec_2_2, vec_3_2, vec_4_2, vec_5_2],
[vec_1_3, vec_2_3, vec_3_3, vec_4_3, vec_5_3],
[vec_1_4, vec_2_4, vec_3_4, vec_4_4, vec_5_4]]
[vec_1_mean, vec_2_mean, vec_3_mean, vec_4_mean, vec_5_mean]
[[vec_1_1, vec_2_1, vec_3_1, vec_4_1, vec_5_1],
[vec_1_2, vec_2_2, vec_3_2, vec_4_2, vec_5_2],
[vec_1_3, vec_2_3, vec_3_3, vec_4_3, vec_5_3],
[vec_1_4, vec_2_4, vec_3_4, vec_4_4, vec_5_4]]
[vec_1_mean, vec_2_mean, vec_3_mean, vec_4_mean, vec_5_mean]
[[vec_1_1, vec_2_1, vec_3_1, vec_4_1, vec_5_1],
[vec_1_2, vec_2_2, vec_3_2, vec_4_2, vec_5_2],
[vec_1_3, vec_2_3, vec_3_3, vec_4_3, vec_5_3],
[vec_1_4, vec_2_4, vec_3_4, vec_4_4, vec_5_4]]
[vec_1_mean, vec_2_mean, vec_3_mean, vec_4_mean, vec_5_mean]
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
42
TECHNICAL FEATURE
Semantic similarity for determining recommendations (cont.)
Gensim / Numpy on Python: Fast vector computations
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
[vec_1_mean, vec_2_mean, vec_3_mean, vec_4_mean, vec_5_mean]
[vec_1_mean, vec_2_mean, vec_3_mean, vec_4_mean, vec_5_mean]
Student A
Arts University
Student A’s interests are strong
University X’s focus on their subjects is intense.
Student A’s interests and University X’s offerings are likely to align by
Magnitude = Intensity
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
43
TECHNICAL FEATURE
Authentication done via short-lived, externally generated JWTs
Clerk Authentication: Integrated with Kong, no secrets stored by us
Clerk is an external authentication provider that provides callable APIs accessible via a Node.JS SDK to protect endpoints via JWTs.
By using external authentication, we increase the security of users’ data and enable easier integration with Kong.
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
44
TECHNICAL FEATURE
Multi-staged Docker builds to improve performance
Staged Builds: Faster builds, smaller images
Operating System
Rust Toolchain
Rust Docker Image
Operating System
ranking binary
Base Docker Image
1.1GB
100MB
Almost 10x
smaller!
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
45
TECHNICAL FEATURE
Managed Docker Container Registry with AWS ECR
Docker Container Registry: Manage container images reliably
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
Private Container Registry enables reliable and secure management of Docker Images
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
46
TECHNICAL FEATURE
Production Container Orchestration with AWS EKS
Kubernetes Container Orchestration: Manage container images reliably
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
47
TECHNICAL FEATURE
Service health monitoring using Prometheus & Grafana
Service Health Checks: Monitor changes, respond instantly
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
Using Prometheus and Grafana, we can monitor service health and load, enabling us to scale up our deployment under heavy load conditions
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
UniExplorers
Exchange for everyone
Conclusion
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
49
VIABILITY
Our business model is attractive to both universities and students
Strategic options are available to universities looking to gather data and promote themselves
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
For students
92%
of Gen Z indicated being true or authentic to oneself is important
For universities
Access to a wide variety of new and authentic exchange experiences
Social search
is Gen Z’s first port of call when looking for information about products and services
Organic discovery of universities that appeal to students’ preferences
Student diversity
widens perspectives, challenges prejudices, and builds intercultural sensitivity
An influx of interested and engaged prospective international students
Global exposure
allows institutes of higher learning to stay at the forefront of technological development
Access to a high-quality pipeline of students who go the extra mile
Both students and universities have strong incentives to onboard to Uniexplorers, given the higher quality of opportunities available to both
Source: EY, emarketer.com
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
50
VIABILITY
Uniexplorers scales exponentially with new universities onboard
Due to network effects and economies of scale
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
DUMP!�For universities to appeal to more students: Having a wide variety of exchange options is a unique selling point rarely found in other tertiary institutions.
More dump:
Monetization
As users and universities onboard, the utility of Uniexplorers scales exponentially due to the increasing number of potential connections
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
51
VIABILITY
Uniexplorers is poised for success
With our strong business model and sizable addressable market
2000/AY
2700/AY
1000/AY
Rising number of local exchange students
Source: MOE, migrationdataportal.org
Rising number of global exchange students
300,000 annually
INTRODUCTION ⮕ SCENARIOS ⮕ TECHNOLOGY ⮕ CONCLUSION
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
Thank you!
Questions & Answers
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
UniExplorers
Exchange for everyone
Appendix
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
54
ALGORITHM
Threads ranking via activity
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
55
ALGORITHM
Threads ranking via activity
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
56
ALGORITHM
Threads rating via user interactions
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD
57
ALGORITHM
Threads rating via user interactions
1E363E
0C8346
CBA135
987284
F3EFE0
67797B
DAE3DD