Overview
A single-user admin app for medical records, intake, finance, documents, reminders and social publishing, which Claude reads and writes through an MCP server.
It is the backbone of my daily work: a 32-tool social MCP server schedules posts to LinkedIn, Threads, Instagram and YouTube, drives the Kamai automation worker, and tailors a resume and cover letter to each hiring post with every line checked against a confirmed source. Custom JWT auth with TOTP two-factor guards it, and 3,500+ unit tests and 43 Playwright end-to-end specs keep it honest.
Tech Stack
Key Features
Medical records, intake, finance, documents and reminders in one app
Publishes to LinkedIn, Threads, Instagram and YouTube on a QStash schedule
Two MCP servers: 5 registry-driven tools over 16 data entities, and a 32-tool social server
Tailored resume and cover letter per hiring post, every line checked against a confirmed source
Custom JWT auth with TOTP two-factor
3,500+ unit tests and 43 Playwright end-to-end specs
Automation console to run, hold and review the worker's scheduled jobs
Challenges & Solutions
One MCP route was eating the whole Vercel CPU budget
The route answered GET with 200, so every connected client reconnected once a second. It now answers 405 as the MCP spec allows, a test pins it on every MCP route, and the fix is confirmed by deploy SHA, not by the domain.
A Reel went out 44 minutes late
An hourly sweep was too slow for video containers that take minutes to process. A pending container is now checked every minute through a QStash follow-up chain.
A resume tool that must never invent a fact
Every tailored line cites a confirmed source entry. A deterministic verifier checks numbers, names and titles, and the rendered PDF is read back before it is stored.
Architecture
Next.js 16 App Router with custom JWT auth and TOTP two-factor; Supabase is reached only through a service-role layer. Two MCP servers: five registry-driven tools cover 16 data entities, and a 32-tool social server runs the daily automation. Scheduled work runs on Upstash QStash, and push notifications go through Firebase Cloud Messaging.
Next Project
