The top four are what an operations console I built actually processed between January and September 2026. The bottom four are counted straight out of the repositories. Revenue and ad spend are left out, because they would identify the client.
36,076
consultations handled
AGENT CAIO · Jan-Sep 26
24,085
bookings confirmed
AGENT CAIO · Jan-Sep 26
28,412
leads in from advertising
AGENT CAIO · Jan-Sep 26
11.3M
ad impressions
AGENT CAIO · Jan-Sep 26
20.7%
booking cancellation rate
the one to drive down
12
systems I built
all work
3,993
commits
counted across 10 repos
23,555
revenue ledger rows reconciled
AI-CAIO SaaS
The three I worked on longest
A cross-border patient acquisition platform, a multi-branch marketing operations console, and a revenue and funnel dashboard.
GCL Global Patient Hub / Production
Marketplace
Compliance
Data
Automation
International patient marketplace + coordinator CRM
The real problem was that the enquiry form and the operations screens lived apart. Now an enquiry from abroad moves into quotes and bookings, and the CRM coordinators actually work in reads the same data.
Medical-tourism product architecture and multi-sided marketplace design
Supabase RLS, Vercel APIs, and role-scoped internal operations screens
Multilingual and RTL UI, lead qualification, and landing-route operations
Department AI agents run content, pricing, and competitor monitoring. What they produce does not go straight out, though. A gate checks the wording right before publish.
Operations dashboard design for branch KPIs, consultation funnels, and ROAS
Medical-ad-law gates, approval pipelines, and content-generation flows
Operations integrations across Telegram, Notion, Calendar, and Kakao Alimtalk
24,085bookings
AI-CAIO SaaS / Live
Data
Growth
Automation
Multi-branch revenue and funnel analytics dashboard
Every branch ran a different CRM format, so the revenue never matched. I reconciled it so the same run returns the same number, then put channel attribution, the booking funnel, and no-show alerts on top.
Revenue reconciliation and multi-CRM format integration
Funnel, channel, and treatment-level operations analytics
Automated collection with Google Apps Script, Puppeteer, and Supabase
13views
Compliance engineering
Complianceis built in as a gate
Most ad-law violations do not happen because someone did not know the rule. They happen because the week got busy. So I put the rules in code instead of in people's heads, and the publish path stops when one trips.
Deterministic gate
AGENT CAIO checks the wording before anything goes up. Taking a post down after a complaint is worse than never letting it publish.
PII quarantine
MSO Vault stacks an OS sandbox, a PreToolUse hook, and an n8n ingestion gate, with egress blocked. It has caught 6 real patient records so far.
Fail closed
CAIO Vault Gate re-scans for PII even when the source says it is clean, and logs only type names and counts. I wrote 126 tests for it and ran 3 red-team rounds.
How it was built
The decisions I actually made
The calls I actually made, lifted straight out of the systems above.
GCL Global Patient Hub
Separated hospital, treatment, comparison, consultation, and landing routes in React + Vite, then connected EN/JP skin-package wedges to consultation prefill.
GCL Global Patient Hub
Designed lead storage as Supabase v1 first, legacy inquiries fallback second, and local demo fallback last.
AGENT CAIO
Rebuilt the product around a sidebar console covering home status, work board, campaigns, media analytics, branch comparison, content calendar, and approval pipelines.
AGENT CAIO
Placed the medical-ad-law gate and approval queue before content generation output so generated work remains reviewable instead of auto-publishing.
AI-CAIO SaaS
Collected ledgers from Drive and Sheets, normalized duplicates and format drift, then built analysis units with Supabase SQL views.
AI-CAIO SaaS
Built branch, channel, treatment, and booking-stage filters in React, with mobile card views for operators.
The rest of the work
More things I built inside the same regulated domain: a compliance knowledge base, search operations automation, a PII gate, and office automation tools.
Ad-law rules, internal guidance, and raw sources were scattered everywhere, so I pulled them into one searchable place. PII defense and source immutability came with it.
I moved the office work I was repeating every day into Windows scripts and Apps Script. File sorting, dashboard generation, and health checks now run on their own.
Payments and retention, built outside the regulated domain
Two consumer apps I built apart from the hospital work. Payments, refunds, and push matter everywhere, so I put them through their paces here first.
A patient-acquisition platform that connects Korean hospitals, treatment packages, language support, pricing, consultation intake, and partner/provider case operations.
An AI marketing operations console that coordinates ad performance, consultation funnels, content calendars, competitor pricing, and medical-ad-law gates across a clinic group's branches.
A TypeScript monorepo that runs crawl, analyze, workorder, and recheck loops deterministically without LLM dependence, isolating AI inside a replaceable ai-core.
A creative pipeline that extracts brand DNA from a storefront URL, generates copy and artwork, and only emits code-rendered PNGs and a review package for what clears the medical ad-law gate.
A K-beauty medical tourism platform where patients abroad compare Korean clinics and treatment menus, then book. Four languages, three roles: patient, clinic, administrator.
A harness that splits campaign-running agent teams by domain while syncing a shared core. It is the working environment I use every day, and the rest of this portfolio was built inside it.
400commits
I plan it and I ship it
I work in medical and beauty, where there are rules to follow and a lot of moving parts. What I build is mostly the things people open every day: operations consoles, CRMs, price monitoring, content gates.
I try not to leave legal risk to human attention. Ad copy is screened before publish, patient data sits behind several layers, and revenue reporting returns the same number on every run.
What is here is what I can talk about. Where a screen carries client operating data, I show the architecture instead of a link.
Tell me what you need built
Clinic growth, operations, compliance engineering. Send me the problem and the constraints and I will answer with what I would build and how.