Product Designer and Design Engineer — end to end

DC Medical Aesthetics

The panel that runs a clinic from the secretary's phone. No procedure starts until it's paid for.

The product

The agenda in month view: September 2026 laid out Monday to Sunday, each day's appointments as short lines colored by city — orange for Barranquilla, blue for Bogotá, teal for Medellín — with a colored band over the days the doctor spends in each city, and a count of appointments per city above the grid.
01A month of appointments, each colored by its city.
/ Walkthrough — no sound

A voice note, typed here for the recording, fills in a new patient's form and opens her case. Demo data; fixed rules stand in for the AI.

/ Role
Product Designer and Design Engineer — end to end
/ Duration
Live since Sep 21, 2026 — still shipping
/ Team
Solo — product, design, code
/ Year
2026

The impact

14
Days, first commit to today's version
Sep 19 → Oct 2, 2026
3
Phases with locks
valuation, payment, procedure
0
New databases
Drive and Calendar stay the source of truth
12
Test suites
domain, ledger, worker, browser

Finding what a patient owed used to take ten minutes of opening files; now every case shows it beside the next step.

Context

The aesthetic-medicine clinic I co-own in Barranquilla ran on WhatsApp, Google Calendar and a shared Drive: everything written down, nothing connected. I built one panel on top of those tools, not instead of them.

What I did

  1. 01

    Three locked phases — valuation, payment, procedure; the procedure's green light needs full payment, receipt and signed consent.

  2. 02

    Safe rollout — a read-only version on day one; editing came later, behind per-person logins, after a security audit.

  3. 03

    Rules as tested functions — balances, card fees, dates and name matching, covered by 12 test suites.

In detail

  • The agenda in day view for Thursday, 24 September: a banner saying the doctor is in Medellín according to the calendar, appointments as cards by the hour with their type and city, a red line marking the current time, and patient-record and calendar buttons on each card.
    02One day by the hour, and the city the doctor is in.
  • The follow-up board: counters for valuations, procedures, controls to reschedule, this week, the next 30 days and controls with no date; tabs for valuations, procedures, controls, agenda, slots and balances owed; city filters; and a table of 45-day controls, each with the days left, its status and a WhatsApp button.
    03Follow-up, counted: who's due, who has no date yet, who slipped.
  • Editing a user in Users and permissions: the doctor's account set to view only, with toggles to see, create and edit per area — and to delete, for patients and cases — across agenda and follow-up, patients and cases, and patient payments, under presets for running the day, viewing only, and nothing.
    04Permissions by area: the doctor reads, the secretary runs the day.

What it can do

One board with the clinic's day on it, on a laptop at the front desk or a phone in a car.

  • AI

    A voice note that fills the form

    Say who came, for what, and what she paid. The model fills the form and saves nothing until a person checks it.

  • Product

    Phases with locks

    Each phase lists what's missing and links to the form that clears it. The footer always names the next step.

  • Product

    The doctor's slots, ready to send

    The document the secretary already keeps becomes a week of red and green slots, flags days in two cities, and copies into WhatsApp.

  • AI

    Receipts and invoices read by AI

    Photograph a receipt, a supplier invoice or travel expenses: the values come back filled in for review, then land in inventory or the month's accounting.

How it happened

  1. 01

    The plan was attacked first

    I mapped how the clinic actually worked, then put the plan through an adversarial review on data, security and feasibility. It found the traps the sheets hide; only the third version reached code.

  2. 02

    Read first, write later

    Version one was a read-only Claude artifact, safe to put in front of the clinic on day one. Editing came later, behind a login per person, after a security audit; live since September 21.

  3. 03

    The phone rewrote the interface

    The secretary runs the clinic from an iPhone, often from the car. So the panel installs as an app, tables become cards, tap targets are at least 44 pixels, and a voice note fills the new-patient form.

  4. 04

    Real money, then real requests

    Real payments set rules no plan had: a credit card lands at 95%, because the clinic passes the fee on to the patient. Then the clinic started asking: slots, an agenda by city, permissions. Most shipped within a day.

Key decisions

  • The spreadsheet stays the source of truth

    A real database was the obvious build. But the person who keeps the books works in Drive every day, and the clinic shouldn't depend on me. Switch the panel off tomorrow and nothing is lost.

  • Balances are read, not summed

    Each income row carries the balance left after that payment, so summing counts a debt again with every deposit. An early version reported a phantom thirty-eight million pesos. Now the latest row wins.

  • A color per city, never on its own

    The doctor works in three cities: orange for Barranquilla, blue for Bogotá, teal for Medellín, checked for color blindness. The name always sits beside its dot, so nobody has to tell teal from blue.

/ Tools & methods
  • Product Strategy
  • HTML & Vanilla JS
  • Tailwind CSS
  • Cloudflare Workers
  • Google Apps Script
  • Google Drive & Calendar
  • Claude (API & MCP)
  • PWA
  • Playwright
  • node --test
/ Authorship

I co-own the clinic with the doctor and built the panel end to end. He owns the medical protocol; the secretary's daily use shaped the flows. Screens and walkthrough use seeded demo data: no real patient, no clinic figure.

© 2026 Doug Vargas