Flagship platform
Scribient
Ambient clinical intelligence built as a separable API, worker, and front, with compliance constraints treated as architecture, not a checklist.
Problem
Clinical product surfaces cannot pretend. PHI, billing, EHR, and AI share one trust boundary — auditors need package boundaries, operators need the system to keep running when a model call flakes.
What was built
NestJS API over Fastify, NestJS workers, Prisma/Postgres, Firestore session state, Next.js 15 front with vendored shared contracts. Encryption envelopes and hash-chained audit in packages every write path can call. Cloud Run deploy path.
Who used it
Built as a clinical ambient-intelligence platform for operators and auditors who need attributable AI paths — not a chat demo.
Measurable results
- Internal packages
- 13 @scribient packages
- Trust plane
- HIPAA gates + AES-GCM/KMS + hash-chained audit
- Worker AI path
- OpenAI / Anthropic / GenAI / AssemblyAI
- Deploy
- Cloud Run
The constraint
Clinical product surfaces cannot pretend. PHI, billing, EHR, and AI all share one trust boundary. Auditors need package boundaries. Operators need the system to keep running when a model call flakes.
The decision
Split into NestJS API over Fastify, NestJS workers, Prisma/Postgres, Firestore session state, and a Next.js 15 front with vendored shared contracts. Encryption envelopes and hash-chained audit live in packages every write path can call. Cloud Run is the deploy target.
Architecture evidence
- 13 internal @scribient packages including ai, audit, billing, encryption, ehr, messaging
- Worker path: OpenAI, Anthropic, Google GenAI, AssemblyAI for NLP / ICD-CPT / DDx / CDS / RAG
- HIPAA gates, AES-GCM + KMS envelope encryption, Stripe billing, AdvancedMD EHR client
- Front: NextAuth, next-intl, Storybook, Playwright, Sentry, Upstash Redis
What I'd do differently
I would lock the OpenAPI contract earlier and treat the Nest migration waves as a published runbook from day one, so every contractor inherits the same threat model instead of rediscovering it.
Related dossier entries: Scribient.