Skip to content
Shepherd Umanah
Healthcare2024Senior Software Engineer

An EMR backend for 1,000+ clinics

Built the backend for the Zimdoc medical records app, took deploys from three minutes to fifteen seconds, and cut response times by two thirds.

Amazing PhysioTherapy

1,000+
users and clinics served
3min → 15s
deploy time, 92% faster
92ms → 30ms
average response time

The problem

Clinics keep patient records on systems that cannot be slow and cannot lose data. Zimdoc needed a backend that could hold records for a growing number of practices without the lag that makes clinical staff give up on software halfway through a consultation.

The team also had no repeatable way to ship. Every release was manual, so releases were rare, large and nerve-wracking. That is roughly the worst shape you can be in when the thing you are shipping holds health data.

What I did

I built the backend from the data model up, then deployed it. Getting the schema right came first. A fast system that stores clinical records incorrectly is worse than a slow one.

For the speed problem I went after server configuration and the existing code paths instead of reaching for a rewrite. Most of the win came from deleting work the server was doing that nobody had asked for.

Then I led the backend team in setting up a CI/CD pipeline, so shipping became something we did without thinking about it rather than something we scheduled around.

What changed

The system serves over 1,000 users and clinics.

Deploy time went from three minutes to fifteen seconds, a 92% cut, which is the difference between shipping when you are ready and shipping when you have the patience.

Average response time fell from 92ms to 30ms, about a third of what it was.

Built with

  • Backend Architecture
  • CI/CD
  • Server Configuration
  • PostgreSQL

Have a system like this one?

I reply within one business day, and I’ll tell you straight if it isn’t a fit.

Start a project
Read next

Or browse all products.