
case study · ios, web, android · 2026
The whole school year, in one app.
Lunar is a school assistant for Portuguese secondary students. I designed and built it alone: the iPhone app, the web app, the Android app and the backend they share.
Built for the five minutes between classes.
A school year lives in too many places.
The timetable is on paper, tests are announced in a group chat, grades sit in the school portal and homework is in a notebook. Lunar puts all of it on one screen that follows the day.
It has two modes. School runs the day: classes, absences, tests, homework and an assistant. Future looks ahead to university, with every course, its entry grades and practice for the national exams.
Four screens that carry the day.
Today
The class happening now, what comes next, and the evening study plan.
Timetable
Read from a photo of the printed timetable, with one question for the slot it could not read.
Tests
Every test gets short study sessions spread across the days before it.
- Isola o seno: sen x = 1/2.
- No círculo trigonométrico, o seno vale 1/2 em π/6 e em π − π/6.
- Em [0, 2π] não há mais ângulos com esse seno.
Assistant
Solves an exercise from a photo step by step, then hands the student a similar one.
Under the hood
One backend for three apps
iPhone, web and Android share a single Supabase project with row level security. Server functions run the assistant and delete accounts on request.
An assistant that asks first
It can mark homework done, log a grade or add a test, and every action waits for a tap to confirm. It searches the web only when a question needs it.
On the lock screen
Widgets show the next classes, tests and homework, and a Live Activity counts down the class in progress.
Signing in without a password
Passkeys on the web and on iPhone, next to Sign in with Apple and email.
Classmates, kept safe
Friends are added only by code or QR, photos stay blurred until tapped, and reports hide a message automatically.