Clinic management built for the workflow PH clinics actually use.
A clinic management platform built for the workflow PH clinics actually use — patient records, appointments, role-scoped access, billing, and analytics — without forcing the team to abandon the practical things that already worked.
- Role
- Full-Stack Developer + UI/UX
- Stack
- Next.js 16React 19TypeScriptDrizzle ORMNeon PostgresNextAuth v5Tailwindshadcn/uiResendVercel BlobRechartsreact-day-picker
- Tags
- HealthcareClinic ManagementMulti-roleProduction SaaS
- Live
- clinicph.health
Context
Most clinic software in the Philippines is either too generic to fit the workflow or too complex for a small operation. ClinicPH wanted a system tailored to local practice patterns — patient records were on paper or in fragmented sheets, no-shows were eating revenue because there was no automated reminder layer, and billing reconciliation happened in someone’s notebook.
Approach
Built on the latest Next.js 16 (App Router) with React Server Components for performance and React 19 for the UI side. Drizzle ORM against a Neon Postgres database with explicit migrations — schema changes are reviewable artifacts, not surprises. NextAuth v5 (beta) handles authentication with role-scoped access enforced at both middleware and data-layer. Resend handles transactional email for appointment confirmations and reminders. Recharts powers the analytics dashboard, and Vercel Blob handles file uploads (patient documents, prescription images). The data model was scoped intentionally — start with what the clinic actually needs, leave room for billing modules and lab integrations as later iterations.
Outcome
The team now has a single system of record for patients, appointments, and billing. Reminders are automatic. The reports the clinic actually uses are one click away. Built on a stack that will still be supported in five years — Next.js 16 is the current LTS direction, Drizzle + Neon scale linearly with the practice.
What it does
- 01Built on Next.js 16 + React 19 (current LTS direction) with Drizzle migrations and Neon serverless Postgres for predictable scaling
- 02Role-scoped access for admin, doctor, staff, and patient with enforcement at middleware and database layers
- 03Single source of truth for patients, appointments, and billing — replacing paper logs and disconnected spreadsheets
Tell us what you’re working on.
We’re happy to talk through what we learned on this project and whether we’re the right partner for yours.