I'm Felipe.

Front-End Developer

Kineva

Patient management software for my wife’s physical therapy practice. She was tracking patients in spreadsheets and notebooks. Appointment history scattered across WhatsApp threads. Treatment progress in her head. It wasn’t sustainable.

So I’m building her something better. A place to track patients, their guardians (many of her patients are children), treatment notes, and progress over time. Multi-tenant so her colleagues can use it too, each with their own isolated patient data.

The name comes from “Kinesis” (movement) and “Eva” (life). Physical therapy is about restoring movement to life.

The Engineering Challenges

Multi-Tenant from Day One

Each practitioner needs their own isolated patient data. I didn’t want to retrofit multi-tenancy later, so the org model was built in from the start.

Every patient belongs to an organization. Every query filters by org. URL routing includes the org slug. Row-level security policies in the database enforce isolation even if the application code has bugs. Defense in depth.

The Guardian Problem

Physical therapy practices see a lot of children. Children have guardians. Sometimes the guardian is also a patient. Sometimes one guardian has multiple children in treatment.

The data model handles this with a self-referential relationship - a patient can reference another patient as their guardian. Deleting a guardian prompts for confirmation if they have dependents, preventing orphaned records.

Passwordless Auth

Nobody wants another password. Magic links via Supabase Auth: enter your email, click the link, you’re in. OAuth for Google and Facebook as fallbacks. The authentication flow was one of the first things I built because it touches everything else.

41 Themes

Maybe overkill for an MVP, but I wanted the app to feel personal. Practitioners spend hours in this interface. Let them pick a color scheme that doesn’t hurt their eyes. The theme system uses CSS custom properties with server-side loading for SSR compatibility.

Current State

Active development. Patient CRUD works, authentication works, org management works, themes work. Next up: treatment session tracking, progress notes, appointment history. The foundation is solid, now it’s about building the features my wife actually needs day-to-day.

Stack

Why I’m Building This

My wife is a physical therapist. Her patient tracking was spreadsheets and memory. This solves her problem first. If it works for her practice, maybe it works for others. But the primary user is sitting across the dinner table, which means I get immediate feedback on every decision.