Multi-platform campus guide and student club discovery engine. Helping students discover verified campus organizations, technical hackathons, and community events across Discord and Reddit.
Sortling provides an adaptive recommendation engine and verified club directory service. It parses university club registries, analyzes student preferences using vector variance tree matching, and delivers instant, tailored recommendations across multiple frontend interfaces.
Note
Sortling is structured into a modular multi-repository architecture. The central recommendation engine and REST API power frontend clients for specific platforms and university workspaces.
graph TD
A[Student Interface] -->|Discord Commands /sort /clubs| B(sorts-me/discord)
A -->|Reddit Devvit Custom Post| C(sorts-me/reddit)
B -->|Local SQLite / REST Sync| D[sorts-me/Sortling]
C -->|CORS REST API Requests| D
D -->|Information Gain Engine| E[VarianceQuestionSelector]
D -->|Vector Cosine Scoring| F[DeterministicRecommendationEngine]
D -->|Online Self-Training| G[TrainingService]
| Repository | Primary Technology | Purpose & Description |
|---|---|---|
sorts-me/Sortling |
Python 3.12, SQLAlchemy, REST API | Central Backend Engine: Host of the vector recommendation engine, dynamic question selector, knowledge base, and REST API. |
sorts-me/discord |
Python 3.12, Nextcord, SQLite | Mahindra University Discord Bot: Dedicated Discord bot providing /sort, /clubs, /events, and interactive UI views. |
sorts-me/reddit |
TypeScript, Devvit SDK, Webview | Universal Reddit App: Interactive Devvit custom post app allowing Reddit users to take the quiz and browse clubs. |
- 🎯 Vector-Based Match Engine: Combines 45% weighted interest dot-product, 30% cosine similarity, 15% trait overlap, and 10% commitment alignment to eliminate flat tie scores.
- 🌳 Adaptive Question Selection: Uses Shannon Entropy Information Gain (
$T = 5.0 + 1.5 \times N$ ) to bisect candidate pools dynamically in 3 to 4 questions. - ⚡ Sub-Millisecond Query Speeds: Evaluates candidate club vectors against student profiles in under 1ms on local disk storage.
- 🔄 Online Self-Training: Adjusts club trait matrices in real time using decayed online gradient reinforcement based on student feedback.
- 🌐 Multi-Platform Delivery: Native experience for Discord slash commands and Reddit Devvit interactive web views.
- Primary Color: Deep Midnight Blue (
#000543) - Secondary Color: Pure White (
#ffffff) - Typography: Clean, professional Markdown without text-based emojis on interactive control buttons.
Licensed under the Apache License 2.0. See individual repository licenses for platform-specific terms and third-party API compliance details.