Fluxo Clínico.
A clinic system built for the front desk.
I designed and built a SaaS for multidisciplinary therapy clinics that care for autistic children, from the first screen to the database rules, with AI doing most of the typing.

Why I built it
Therapy clinics for autistic children run on recurring sessions: the same child, the same therapist, the same time, every week, for months. Speech therapists, occupational therapists and psychologists share one front desk, one agenda and one family to keep informed. The tools they had were built for one-off medical appointments.
The person it is built for
The most important user is not the clinic owner. It is the receptionist, on an Android tablet, between two sessions. Creating a booking almost worked. What broke was fixing reality afterwards: a child who missed, a session that already happened, one day that had to move without breaking the weekly series.
So I rewrote the rules underneath. A session is done when the front desk checks the patient in, not when the clock passes its start time. The past is editable, with a warning only if a clinical note already exists. And every change to a series asks: this one, this and future, or the whole series.
A session is done when the clock passes its start time.
A session is done when the front desk checks the patient in.
The past is locked.
The past is editable, with a warning only if a clinical note exists.
A change hits the whole weekly series.
Every change asks which sessions it applies to.
Apply to which sessions?
What I built
Not a prototype: a product with a database to protect. A clinic app with four roles (front desk, therapist, coordinator, admin), a portal and app for families, and a platform admin for the business side. Underneath, Supabase with access rules per clinic and per role, 162 versioned database migrations and 24 server functions and scheduled jobs. AI does the dull part: audio to a draft clinical note, session summaries for families, no-show risk and WhatsApp reminders.
For the children themselves, the family check-in lets a child pick how they feel with pictures, not words.
4
roles in the clinic app
162
versioned database migrations
24
server functions and scheduled jobs
- Front desk
- Therapist
- Coordinator
- Admin
- Portal
- App
- Picture check-in for the child
- Platform admin
- Audio to a draft clinical note
- Session summaries for families
- No-show risk
- WhatsApp reminders
How I build with AI
Lovable writes most of the code and commits it straight to the main branch. That is fast, and it is also how things break silently. Once it rewrote database permissions while “fixing” an unrelated error, and the front desk lost access. So a second AI checks the first one.
Every problem from the clinic becomes a short requirement doc with the job, the rules and a clarity score. Then Claude Code does a read-only audit of the real code, every claim with a file and line, before anything changes. The work ships in phases, safest first. Database permission changes go alone, on their own branch, with a test that fails if the rule regresses. The permanent rules for the AI live in the repository.
Clinic problem
Reported by the people using it.
Requirement doc
The job, the rules and a clarity score.
Read-only audit
Claude Code checks the real code, every claim with a file and line.
Ship in phases
Safest first.
Guard permissions
Alone, on their own branch, with a test that fails if the rule regresses.
Example: WhatsApp confirmations stopped for new patients.
- Bad data.
- Code reading the wrong column in six places, not five.
- One shared rule for the contact phone and one way to format numbers, with no data migration.
A bug that cost history
The front desk said cancelling a series cancelled the whole agenda. It did worse: it rewrote sessions that had already happened, so attendance history was lost. The fix cancels only future, still-scheduled sessions, says how many before you confirm, and makes “this one” the default. It shipped first because it needed no database or permission change. The riskier parts of the same requirement, like soft delete and restricting hard deletes to managers, wait for their own branch.
- Past sessions rewritten
- Attendance history lost
- Whole series by default
- Only future, still-scheduled sessions
- Count shown before you confirm
- “This one” by default
Cancel sessions?
Only future, still-scheduled sessions change. Past sessions and attendance stay as they are.
Two doors
Clinic software tends to fail in one of two ways: so locked that the front desk works around it, or so open that one clinic can see another's patients. I split it in two doors. Inside one clinic, the front desk can fix the agenda without asking, and every cancellation and deletion is logged. Between clinics and for anonymous visitors, the walls are hard and live in the database. Clinical notes are stricter still: only the therapist who wrote one can read its content; managers see date, author and status. An automated test fails if any screen leaks a clinic's private fields.
Open enough to fix reality
- Front desk fixes the agenda without asking
- Every cancellation and deletion is logged
Hard walls
- Hard walls, enforced in the database
- Anonymous visitors see nothing private
- A test fails if a screen leaks private fields
The therapist who wrote it reads the content
Managers see date, author and status
Where it stands
Small, real and used every day. One clinic runs its day on it, from the front desk to the family portal, and two more were testing it in August 2026. The goal is 15 clinics in the next 12 months. Next on the list, all requested by the same clinic: quick patient lookup by tap, a clear link between each patient and their therapists, WhatsApp confirmation links with opt-out, and fixing accents that erase words on Android tablets.
1
clinic runs its day on it
2
more testing, August 2026
15
clinics, the goal for the next 12 months
- 1Quick patient lookup by tap
- 2A clear link between each patient and their therapists
- 3WhatsApp confirmation links with opt-out
- 4Fixing accents that erase words on Android tablets
What it taught me
- AI made me fast. Specs, audits and tests made me safe. Without the second half, speed would have shipped a permission bug to a clinic.
- Designing for the receptionist's tablet changed the data model, not just the screens.
- Owning the whole thing, from interview to database rule, is the work I enjoy most.
Keeping the AI on brand
Fluxo Clínico has its own concept, a calm teal and peach palette made for a tablet at the front desk, and permanent rules in the repository that tell the AI what it must never change.
Design Systems for AI-Built Products