Our challenge was to design and implement a Duolingo-inspired language learning platform from scratch, applying Agile methodology over the course of the semester. The app allows users to select a language, complete structured lessons, and track their progress through quizzes and dashboards.
Coordinated a 4-person Agile team across three sprints, retros, and weekly standups.
Shipped a functional MVP with 6+ features: user authentication, language selection, lesson modules, quizzes, progress tracking, and leaderboards.
Delivered a fully working demo at semester’s end, meeting 100% of sprint goals.
The backend was written in Java using object-oriented programming principles and software engineering practices (e.g., design patterns).
Key contributions:
Designed the system’s UML diagram to model core classes, interfaces, and data flows — providing the blueprint that guided backend development.
Built the progress persistence system with FileLoader
, ensuring user data was saved/retrieved across sessions.
Developed Language and Lesson modules, using Factory and Facade patterns to simplify expansion to new languages.
Implemented quiz logic with randomized questions, point tracking, and progression gating.