All work

$ cd ~/work/pianissimo-online

Next.js 14 · Supabase · PWA

Pianissimo Online

An online piano academy that keeps students practising between lessons: courses, XP and badges for practice, teacher feedback and a community, in English and Spanish. I built it for a Fiverr client.

Pianissimo Online

00//the walkthrough

2-minute walkthrough recorded on the live demo: the bilingual site, the student dashboard, courses, the leaderboard and teacher grading.

3 screens · tap to enlarge

01//the problem

Online piano students lose motivation between lessons, teachers can't see who is actually practising, and lessons, feedback and community end up spread across different tools.

02//the approach

A Next.js 14 app with next-intl for English and Spanish, installable to the home screen as a PWA. Supabase holds the courses, practice logs and messages, Supabase Realtime pushes notifications as they happen, and Cloudinary handles media. Every practice entry feeds the XP system, so levels, badges, streaks and the leaderboard all come from the same log the teacher sees.

03//what I built

01

Courses and progress

Courses and lessons, with progress tracked for each student.

02

Practice that earns XP

Logging practice earns XP, levels, badges and streaks, and feeds a leaderboard.

03

Teacher grading

Teachers grade challenges and keep class notes for each student.

04

Community

A feed with posts, polls and reactions, plus direct messages.

05

Real-time and installable

Live notifications, and the app installs to the home screen as a PWA.

06

Admin area

Students, analytics, moderation and invites.

// the impact

EN · ES
Languages
PWA
Installs as
Supabase
Realtime

Built for a Fiverr client. The live demo has sample students, a teacher and an admin account, so you can log practice, check the leaderboard and grade a challenge yourself, in English or Spanish. The 2-minute video above covers the same ground.

// let's build yours

Have a product like this in mind?

Related serviceNext.js development
Chat on WhatsApp