FOR

School

Project

Scalable Language Learning App

Roles

PM, Dev, Design

Year

2024

CREDIT

This project was a collaborative team effort completed as part of CSCE 247: Software Engineering. I served as Product Manager and also contributed significantly to Backend Development and UI Design. I played a substantial role (50%+ influence) in scoping product requirements, building backend logic, and designing the JavaFX interface. Contributions from other team members are acknowledged beneath the respective items.

OVERVIEW + Impact Metrics

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.

Personas

Product Requirements (PRD)

Backend Development

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.