Hizmedia logoHIZMEDIA

1 Tool 1 Week · #02

Drawn.

Blood test booking, sorted.

Generic booking tools treat a blood test like a haircut. Drawn is online booking built for private blood testing clinics: clinic appointments and home visits, fasting rules built in, and patients only ever see times that work. UK GDPR compliant, hosted in the UK and EU.

HealthcareBookingUK GDPRFree demo
Try the live demo (opens in a new tab)

Watch on YouTube

Built with a modern, owned stack

  • Next.js
  • TypeScript
  • React
  • Expo
  • Tailwind CSS
  • Supabase
  • Neon
  • PostgreSQL
  • Medusa
  • Stripe
  • Resend
  • FastAPI
  • Cloudinary
  • Node.js
  • Vercel
  • Next.js
  • TypeScript
  • React
  • Expo
  • Tailwind CSS
  • Supabase
  • Neon
  • PostgreSQL
  • Medusa
  • Stripe
  • Resend
  • FastAPI
  • Cloudinary
  • Node.js
  • Vercel
5Booking steps, one per phone screen
1 lineOf code to embed it on any website
0Double bookings the database will accept
300+Automated tests
UK GDPRCompliant, hosted in the UK and EU

What it does

Four steps, bookings sorted.

01

Set up

Add your locations, the postcodes you visit, staff hours, and your test menu, with each test's price, fasting rules, and preparation steps.

02

Share

Put your booking link, QR code, or a one line embed on your website, Google profile, and social bios. It wears your clinic's colours.

03

Patients book

They pick tests, a clinic or a home visit, and a time. Only times that pass every rule are shown, so nothing gets rejected later.

04

Run the day

Each phlebotomist gets a day plan by location. Add walk-ins, mark visits completed or no show, and reschedule in one place.

The patient's side

Five screens, one booking.

Most patients book on their phone, so every step is one decision on one screen. The demo clinic books in its own teal: Drawn takes on each clinic's colours.

Fasting neededConfirmed
  1. Choose tests, a screen from the demo booking (opens full size in a new tab)

    01

    Choose tests

    Prices, biomarker counts, and a Fasting needed tag. Several tests can share one appointment.

  2. Where, a screen from the demo booking (opens full size in a new tab)

    02

    Where

    A clinic location, or a home visit checked against the postcodes the clinic covers.

  3. When, a screen from the demo booking (opens full size in a new tab)

    03

    When

    A date strip and the free times. A fasting test explains why only mornings appear.

  4. Your details, a screen from the demo booking (opens full size in a new tab)

    04

    Your details

    Name, email, and mobile. No health questions, and every optional box starts unticked.

  5. Booked, a screen from the demo booking (opens full size in a new tab)

    05

    Booked

    A reference, the time and place, the total, and how to prepare for every test booked.

Under the hood

Only times that work.

  1. Stage 1

    Building the test menu

    Each clinic writes its own tests: price, duration, fasting hours, the latest start time, the weekdays it runs, and whether it can be done at home. Every test gets its own booking link that skips straight to it.

    Building the test menu: the Drawn screen for this stage
  2. Stage 2

    Finding the free times

    The availability engine starts from each phlebotomist's hours, takes away time off and existing bookings, and steps through the day. Several tests take the strictest rules between them: the longest fast, the earliest latest start, only the days every test allows. A time is shown only if it passes every rule.

    Finding the free times: the Drawn screen for this stage
  3. Stage 3

    Home visits by postcode

    The postcode is matched to the districts the clinic covers, with no outside lookup service. Only staff who do home visits are considered, and each visit blocks its travel time either side. Out of area patients are told before they reach the times and offered a clinic instead.

    Home visits by postcode: the Drawn screen for this stage
  4. Stage 4

    Running the day

    Staff see the day by phlebotomist and location, with home visits listed beside it. A Postgres exclusion constraint means one phlebotomist can never hold two overlapping appointments, however two bookings race. Times are stored in UTC and worked out with Temporal, so the clocks changing never moves anyone.

    Running the day: the Drawn screen for this stage
  5. Stage 5

    On the clinic's website

    One script tag adds the booking form to any page, or a button that opens it. The form only talks to websites on the clinic's allowed list, and browsers refuse to show it anywhere else. It takes the clinic's colour, darkened automatically until it passes contrast.

    On the clinic's website: the Drawn screen for this stage
  6. Stage 6

    Patient data and UK GDPR

    Drawn is UK GDPR compliant, with patient data hosted in the UK and EU. A booked test can reveal someone's health, so every booking gets health data protections. Row Level Security keeps each clinic's patients apart, the form asks no health questions, and texts and links never name the test. Marketing and text reminders are separate opt ins that start unticked, and clinics can export, correct, restrict, or erase a patient's record.

    Patient data and UK GDPR: the Drawn screen for this stage
  7. Stage 7

    The demo

    Every visitor gets their own Northvale Diagnostics. Each server builds the clinic in an in-memory Postgres, replays that visitor's changes, does the work, and rolls back. Changes live in sealed, encrypted cookies in the visitor's browser, so nothing is stored and nobody sees anyone else's bookings.

    The demo: the Drawn screen for this stage

Then and now

From phone tag to booked.

Private clinics make do with a generic tool that does not understand blood tests, or a phone line and a spreadsheet. Drawn is built around how clinics actually work.

Then

Generic booking

Now

Drawn

  • Booking

    ThenPhone calls and a generic booking form
    NowOnline, showing only times that work
  • Fasting tests

    ThenBooked for 3pm, then moved by phone
    NowMorning times only, with the reason on screen
  • Home visits

    ThenPostcodes and travel checked by hand
    NowMatched by postcode, travel time built in
  • Preparation

    ThenSent later, if someone remembers
    NowShown before booking and in the confirmation
  • Patient data

    ThenSpreadsheets and inboxes
    NowUK GDPR compliant, hosted in the UK and EU
  • Double bookings

    ThenFound on the day
    Now0

Built with

  • Next.js 16Next.js 16
  • React 19React 19
  • TypeScriptTypeScript
  • Tailwind CSS 4Tailwind CSS 4
  • PostgreSQLPostgreSQL
  • NeonNeon
  • PGlPGlite
  • BABetter Auth
  • Stripe ConnectStripe Connect
  • TemTemporal
  • TipTiptap
  • Amazon S3Amazon S3
  • ResendResend
  • VercelVercel

Free demo · No sign-in · Nothing saved

Book a test at a made up clinic.

Book as a patient at Northvale Diagnostics, then step into the clinic's dashboard and watch it land on the day plan.

Try the live demo (opens in a new tab)

Need a tool like this?

If your team is still doing by hand what software should handle, tell us about it. We build tools shaped to exactly how you work.

Drawn is in development and launching soon. Northvale Diagnostics and every patient in the demo are made up.