Case study

Architecting a composable telehealth platform

A UK gut-health telehealth startup, via Browser London. Employee (Tech Lead). June 2022 – March 2023.

Client
A UK gut-health telehealth startup, via Browser London
Role
Tech Lead (employee)
Period
June 2022 – March 2023
Team
I owned architecture and engineering. A designer, a project manager, and a front-end developer worked with me. I reviewed the front-end code.

Context

The startup offered video consultations with gastrointestinal specialists, dieticians, and GPs. It also sold products and subscriptions and fulfilled prescriptions. NHS doctors practised on the platform alongside their NHS work.

Discovery

I ran discovery and presented the findings to the client's board.

The architecture

I designed a composable platform. SaaS vendors handled the specialist work:

  • Semble for video consultations and clinical workflow.
  • Truepill for pharmacy.
  • Stripe for payments.
  • Auth0 for identity.
  • Sanity for content.
  • Pipedream for webhook orchestration.

Pipedream carried webhooks between Stripe, Semble, Truepill, and Directus. Directus on PostgreSQL with row-level security held the platform's own data. A Next.js and TypeScript front end tied it together. I wrote Terraform to provision the AWS edge: S3, CloudFront, and Route 53.

Container diagram. Patients and clinicians use a Next.js front end hosted on S3 and CloudFront, with DNS in Route 53, provisioned with Terraform. The front end calls Auth0 for identity, Stripe for payments, Sanity for content, Directus on PostgreSQL with row-level security for platform data with no patient data, and Semble for video consultations, clinical workflow, and all patient data. Pipedream carries webhooks between Stripe, Semble, Truepill, and Directus. Truepill handles pharmacy fulfilment. A boundary labeled Patient data stays here surrounds Semble.
Container view. Patient data stays inside the Semble boundary.

Keeping patient data out of the platform

I designed the GDPR-compliant data flows and consent management. The split was deliberate. Directus held marketing, blog, and other non-personal data. Semble held sessions and all patient information. Patient data stayed in the clinical system of record and out of the platform database.

The hardest call

My own instinct was a monolith. The agency chose a low-code, vendor-composed architecture instead. At the time that was a new approach. We spent months on strategy and vendor selection. Once the decision was made, I committed to it and delivered it.

Outcome

The platform soft-launched in January 2023 with a small group of clinicians and patients. I left shortly after.

Stack

  • Next.js
  • React
  • TypeScript
  • Vanilla Extract
  • Storybook
  • Directus
  • PostgreSQL (row-level security)
  • Auth0
  • Stripe
  • Sanity
  • Semble
  • Truepill
  • Pipedream
  • Segment
  • Terraform
  • S3
  • CloudFront
  • Route 53