Own product
Cabelo em Dia — Tracking for people treating hair loss with a doctor
An app for people treating hair loss with a doctor who want to see their progress over months: standardized photos, daily logging, reminders and a report to bring to the appointment. The app records and organizes, and never recommends a treatment or a dose.

- 5 angles
- AES-256
- 10 lessons
Problem.
Treating hair loss takes months, and results show up slowly. Without records, all a person has to answer the doctor is memory, and it is hard to tell the effect of the treatment from the impression of the day. And online content on the subject mixes information with promises and with medication advice that only a doctor can give.
Solution.
A mobile app (PWA) with a public website alongside. The Today screen shows what has been done that day, and the check-in takes 10 seconds. If something shows up, the person logs the effect and gets a short guide on when to watch and when to see the doctor, with the source. If hair fell more, a step-by-step explains what is usually normal at each stage. Photos follow a fixed standard so they can be compared, and everything becomes a PDF report for the appointment, with the questions the person noted down. The website has a 6-question quiz that builds the plan, a guide and a month 0 to 12 timeline.
Result.
The website, the quiz and the app are live at cabelo.joaovitral.com, with email login and its own deploy. Launch is on 03/11/2026. Payment is not integrated yet: today the pricing page shows the prices and the button states the opening date. A recent product, with no usage numbers published here.
Screens.
Screenshots of the live site.








The hard part.
Every project has a point where the obvious solution doesn't cut it. Here, it was these.
A health app that refuses to prescribe
The limit was written before the code. No screen, text, email or notification suggests, calculates or adjusts a dose, and there is no milligram selector: the treatment is registered by category and in free text, as the doctor prescribed it. There is also no promise of results, no diagnosis and no AI analysis of photos. An automated test scans the texts for forbidden words, and reminders swap the name a person typed for a generic label if it matches a medication name, because the notification shows on the lock screen.
Comparable photos, kept private
A progress photo is only useful if it is taken under the same conditions. The camera shows the angle's silhouette, the previous session's photo as an overlay to repeat the position, and a light meter. On the server, each photo is rewritten without metadata (location, camera data) and encrypted with AES-256-GCM, with a per-person key derived from a master key. Only the owner can access it, and the app neither edits the image nor judges the result: the doctor does.
Health guidance without diagnosis
When the person logs an effect, the app answers on three levels: watch, talk to the doctor soon, or seek care now, with an emergency screen for serious signs. The text says what it usually is, what to do and when to see the doctor, and each piece of guidance cites its source. The logic is pure and covered by tests, and what the person logs goes into the report for the appointment.
Health data under the person's control
The app only opens after health consent, and the person can export all their data or delete the account from Profile. Login is by email, with no password, and the server stores only the hash (HMAC) of the code, the link and the session, never the value itself. Since an app installed on the home screen cannot see the browser's storage, the onboarding step is also saved on the server, so the person resumes where they left off.
What I did.
- Solo project: product, design, code and infrastructure
- Full product specification in documents (legal rules, screens, data model, quiz, scientific basis and launch plan) before writing code
- Today, treatments by category and free text (no dose field), check-in and the Progress hub
- Effect logging with three-level triage (watch, doctor soon, now), an emergency screen and a source on every piece of guidance
- "Hair fell more, now what?" and the treatment timeline inside the app
- Guided photos with a silhouette, the previous photo as an overlay and a light meter, a gallery per angle, and side-by-side or slider comparison
- Learn, with 10 lessons in modules 1 to 5, and the right lesson suggested on Today for the person's stage
- A PDF report for the doctor, with the questions the person noted
- Data export and account deletion (LGPD), with health consent before any use of the app
- Push reminders (VAPID) for treatment and photos, a PWA with an install screen and an onboarding that resumes where it stopped
- Passwordless email login, a public site with quiz, guide and timeline, and deploy on a VPS with Docker Compose behind a Cloudflare Tunnel
Stack.
Have a similar project?
Tell me the problem — I answer personally.
See it live.
Public pages of the product, open to anyone.
Sister product.
Same foundation and same rule, for another treatment.