• TypeScript
  • React
  • React Native
  • Expo
  • Node.js
  • LoopBack
  • MongoDB
  • Firebase
  • GCP

Dutch GP practices run on phone calls. A patient with a quick question calls the clinic, waits on hold, speaks to an assistant, gets a callback booked — for something that could be answered in two minutes. For GPs, most of that volume is administrative noise drowning out actual medical work.

doccs was built to fix that: a digital-first GP platform that gives patients a direct channel to their doctor and gives GPs the tooling to handle far more without burning out.

What I built

I joined before the first practice opened. The app wasn’t live yet; the codebase was still proof-of-concept quality. Over the next two years, I worked across the full stack as part of a small team — taking it from POC to a production system used daily by thousands of patients.

Patient app (React Native + Expo) — iOS and Android app for chatting with a GP, booking appointments, and requesting repeat prescriptions.

End-to-end encrypted chat — custom E2E encryption for patient–GP messaging. Medical context meant security couldn’t be delegated to a third-party SDK, so we built it ourselves.

GP portal (React) — web app for GPs to manage their inbox, calendar, and patient records. Built to fit clinical workflows, not add to them.

Backend (Node.js + LoopBack, MongoDB, Firebase, GCP) — APIs powering both the patient app and the GP portal.

The scheduling engine

The most complex piece was the appointment scheduler. Each GP sets their own working hours, takes different appointment types (in-practice, video, phone), and allocates different durations to each. Add recurring appointments and real-time conflict prevention across a growing roster of doctors — and no off-the-shelf library handled it.

I built a custom scheduling engine from scratch. It resolves availability across all of those variables in real time, so patients always see accurate slots and double-booking is impossible.

Impact

When I joined, one practice was preparing to go live. By the time I left, four to five were running on the platform.

The metric that captures what changed: doccs practices handle over five times more patient interactions per year than a comparable traditional GP practice. A patient gets an answer the same day instead of waiting for a callback. A GP can work through their caseload without the phone bottleneck that limits most practices.