Apps
Lexilink
Multi-subject learning platform with vocabulary management, spaced repetition, and class collaboration
Overview
Lexilink is the flagship application in the monorepo — a multi-subject learning platform supporting vocabulary management, spaced repetition (SM-2 algorithm), testing, class collaboration, gamification, and a content marketplace. It is the most feature-rich app with 145 Convex tables and 109 function files.
Production URL: lexilink.app
Documentation: Lexilink has its own dedicated Mintlify docs at docs.lexilink.app
Key Features
- Vocabulary Management — Create, organize, and share vocabulary sets across subjects
- Spaced Repetition — SM-2 algorithm with ease factor, interval, and next-review tracking
- Testing — Create and take assessments with multiple question types and grading
- Class Collaboration — Teacher-managed classes with join codes, assignments, and announcements
- Gamification — Points, streaks, achievements, and student duels
- Content Marketplace — Browse, publish, and share learning content
- Subject Templates — Flexible template system supporting any subject beyond vocabulary
- AI Features — AI-powered study assistance via OpenRouter
Tech Stack
| Component | Technology |
|---|---|
| Framework | Next.js 16 (App Router, Turbopack, React Compiler) |
| Backend | Convex (145 tables, 109 function files) |
| Auth | @convex-dev/auth (Password + OAuth) |
| UI | shadcn/ui + Tailwind CSS 4.0 |
| i18n | next-intl (6 languages: en, fr, it, de, la, ar) |
| Payments | Stripe (Free/Pro/Team/Enterprise/Institution tiers) |
| AI | OpenRouter + LM Studio |
| Forms | React Hook Form + Zod |
Architecture
Lexilink uses a feature-first component architecture with 36 domain-specific modules:
components/
features/ # 36 feature modules
vocabulary/ # Vocabulary CRUD
study/ # Study sessions, flashcards
tests/ # Test builder and taking
classes/ # Class management
dashboard/ # Dashboard widgets
gamification/ # Points, streaks, achievements
marketplace/ # Content marketplace
templates/ # Subject template editor
...
shared/ # Cross-domain (auth, layout, i18n)
ui/ # shadcn/ui primitives
The middleware uses proxy.ts (Next.js 16 pattern) combining Convex Auth and next-intl for authentication and locale routing in a single middleware layer.
Convex Schema
The database contains 145 tables organized into domains:
| Domain | Key Tables |
|---|---|
| Core | users, institutions, classes, classEnrollments |
| Content | vocabularySets, vocabularyItems, subjectTemplates, tests, testSubmissions |
| Learning | progress (SM-2 tracking), studySessions |
| Features | achievements, streaks, announcements, marketplaceListings |
User Roles
Five roles with escalating permissions:
- student — Study, take tests, join classes
- teacher — Create content, manage classes, grade
- school_admin — Manage institution settings
- parent — Monitor student progress (read-only)
- platform_admin — System-wide management
Internationalization
Lexilink supports 6 languages with 35 translation domain files:
| Language | Code | Direction |
|---|---|---|
| English | en | LTR |
| French | fr | LTR |
| Italian | it | LTR |
| German | de | LTR |
| Latin | la | LTR |
| Arabic | ar | RTL |