10 / 15 PROJECT
Every projectLanguage Learning App
A Ruby on Rails language learning app built for a real client as a university project, with user and admin dashboards, spaced repetition and a Postgres schema underneath.

- May 2025
- delivered
- Rails
- on Postgres
- 2
- dashboards, user and admin
A real client brief
The client was real. The deadline was academic. This was built at university, with requirements gathered up front and regular meetings running through the build, which is a different discipline from a coursework spec handed over finished. It was a team build rather than a solo one, and it was delivered in May 2025.
Two roles, one schema
Access splits into user and admin dashboards, so what a learner sees and what an administrator sees are separate surfaces over the same Postgres data. Media is not dropped in a folder beside the app: it is attached to records through ActiveStorage, so each file belongs to the row that uses it. The schema is relational, and the record calls it secure.
A fixed list shows every item the same number of times, whether or not the learner needs it.
Scheduling the next review
Progress tracking carries spaced repetition logic. A fixed list shows every item the same number of times, whether or not the learner needs it. Spaced repetition schedules each item by how well it is already known, so the words that keep going wrong come back sooner and the ones already learned stop taking up the session.
The app itself
The delivered app is called Phonetical. The learner home carries a day streak, a countdown to the trip the vocabulary is for, and a vocab list where each row gives the phrase respelled phonetically next to its English meaning, with the Spanish spelling behind a toggle and playback at normal or slower speed. Bold marks higher pitch and underline marks emphasis, so the list carries how a phrase sounds and not only what it means.
The stack it lived on
Rails with HAML templates and Bootstrap, Rake for the tasks, GSAP for the component animations, and the whole thing developed on Windows through WSL. GitLab is in the stack list and the repository sits on GitHub. Figma held the designs. There is no live demo, so the repository and the screenshot are what is left rather than a link.
What it does
- 01Role‑based user & admin dashboards
- 02Progress tracking & spaced repetition logic
- 03Media asset handling via ActiveStorage
- 04Real client requirement gathering process
- 05Component animations powered by GSAP
- 06Secure Postgres relational schema
Built with
- Ruby on Rails
- PostgreSQL
- ActiveStorage
- HAML
- Bootstrap
- ShakerPacker
- Rake
- GSAP
- WSL
- Gitlab
- Figma