Learning systems
Lingora
A short-form language-learning video platform designed around word-synced subtitles, contextual vocabulary, and spaced repetition.
learn / study
Lingora explores a simple idea: the moment a learner understands a word in context should connect directly to the moment that word is reviewed later.
Video is rich language input, but most viewing experiences separate comprehension from vocabulary capture and later review. Learners end up pausing, translating, saving words elsewhere, and losing the context that made the word memorable.
An architecture for turning uploaded video into adaptive streams, aligned word-level subtitles, contextual vocabulary, and review items. The codebase has not yet been end-to-end deployed or validated, so the portfolio presents it as an unvalidated build rather than a finished product.
What the system contains.
Next.js product surface for a short-form language-learning video experience.
FastAPI service boundaries for media, subtitle, vocabulary, and learning workflows.
Asynchronous processing architecture using RabbitMQ/Celery for media and speech-alignment jobs.
FFmpeg media processing and WhisperX-oriented word-level alignment pipeline.
PostgreSQL/pgvector, Redis, and object-storage-oriented architecture for learning and media state.
Spaced-repetition design intended to turn contextual vocabulary into future review items.
System flow.
Technical decisions.
Separate video ingestion and media processing from the interactive learning experience so expensive work can run asynchronously.
Use word-level alignment so subtitle interactions can preserve the exact video context around a vocabulary item.
Keep vocabulary review as a first-class system rather than a disconnected flashcard export.
Treat the current implementation as unvalidated until the full stack has been run and tested end to end.
The architecture is intentionally ambitious: media processing, alignment, storage, retrieval, and review scheduling create more operational complexity than a simple video-learning prototype. That complexity is only justified if the end-to-end experience proves useful.