Architecture
45 services run three dental offices.On 14 Google Cloud projects.
Patients reach the practice through lead forms and surveys, and their reports, chart links and appointments move through three shared services: the PDF renderer, the CDF registry and the Denticon sync. Around them sit the estimator and planner, the marketing data jobs, the coaching, lab and ops apps, and one request relay that six apps file into.
1 min
the tightest loops: the planner reads the book and the forms worker sweeps deliveries every minute
1 key holder
for Denticon. Every other app reads the mirror through the CDF registry
19 minutes
from a request filed in the Cowork Dashboard to the live fix on Oct 28
$132
Google Cloud in October for the six projects the billing export measured
New York --:-- simulated
Hover a part to trace what it touches. Click it for its notes.
- Built by me
- Managed by Google
- Outside system
- Main data path
- On demand
- Credentials cross
When it breaks
What each failure does, and what it does not do.
-
Denticon misses a webhook
A sweep at twenty past each hour lists every slice Denticon holds, and the 4 AM poll reads everything changed since each cursor.
hybridge-cdf/lib/denticon/slice-worker.ts:13
-
Gemini is busy or retired
Three tries per model with a growing wait, then the next model in the chain. A retired model is skipped for six hours.
packages/lib/src/gemini-models.ts:47
-
Monday is down
A lead waits in Firestore and the worker retries at one minute, ten minutes and an hour. The Cowork Dashboard keeps its last good read.
packages/core/src/delivery/jobs.ts:16
What I tuned
Small choices that keep it fast and cheap.
-
Zero instances by default
The estimator, planner, Launchpad, the relay and the forms worker scale to zero. The webhook receiver and the public forms keep one warm, because each must answer fast.
hybridge-cdf/infra/cloudbuild-sync.yaml:168
-
One image, two services
The CDF dashboard and the Denticon sync share an image, and so do Launchpad and its relay. Configuration decides what each one can do.
hybridge-launchpad/scripts/deploy.ps1:296
-
Ship from a tag
The estimator, the planner, the CDF and the surveys deploy only from a version tag, and a bad release moves traffic back to the last revision.
.github/workflows/deploy-prod.yaml:13
Guards
Rules the code enforces, not rules people remember.
-
One holder of the keys
Only the sync service holds Denticon credentials. Every other repo calls the CDF, and none gets its own credentials, not even as a fallback.
hybridge-cdf/docs/HANDOFF.md:225
-
Every machine call signed
The registry takes one bearer per caller, compared in constant time. The relay and the renderer take Google identity tokens from named service accounts.
hybridge-cdf/lib/registry/auth.ts:26
-
Logs carry counts
The forms logger drops answers, names, emails and phones. The sync and the renderer log counts and ids.
hybridge-forms/packages/core/src/log.ts:24
What it costs
Measured from the Google Cloud billing export, October 1 to 28, net of credits, for the six projects it covers. The other eight projects hold the CDF, marketing data, Cowork, the Daily Sales Report, Doc Coach, NPC Coach, Reconciliation and the websites; their billing export switched on Oct 28, 2026, so there is no measured month yet.
$132in October
- $61.76 CBCT scan validation
- $33.88 Treatment estimator
- $27.07 Capacity planner
- $9.00 Forms, Launchpad, Doctor Portal
