Wishdeal Factory · Storefront
Operator interview · $75/hr · Roll Digital's seat
← Back to VetAI

How Caleb would build VetAI.

First-person from one of our chief operators. What he'd ship and how, AI-amplified. Stack, hour estimate, day-by-day plan, the parts that are hard, and the handoff. Synthesized from the agent spec.

How I'd build VetAI

I'd reach for Next.js on the frontend, Node.js with Express for the API, PostgreSQL for the datastore, Stripe for billing, Twilio for appointment reminders, and Claude's API (via my own FastAPI wrapper) for discharge summary generation. The hardest piece is the PMS integration layer, which I'd scaffold first because that's where deals die. Total estimate is around 400 hours to ship production-ready, which puts us at or under the $30k budget with some breathing room for iteration.

Day-by-day plan

  • Week 1: Provision auth schema + multi-tenant isoltion model. Set up Postgres with Row Level Security. Get NextAuth.js wired so practices can sign up and isolate their data.
  • Week 1: Wire Stripe billing across three pricing tiers (basic, pro, enterprise). Implement subscription lifecycle: creation, upgrade, downgrade, cancellation. Test webhook handlers so I actually know when someone churns.
  • Week 2: Build customer onboarding flow. Practice info capture, practice branding (logo, colors in the app). Get to a point where a vet practice owner can sign up, see their workspace empty, and know they're not broken.
  • Week 2: Twilio SMS reminder engine. Skeleton appointment ingestion. Test with mock calendars so I can show the founder how reminders fire without needing real PMS data yet.
  • Week 3: Discharge summary generation. Wire Claude API into a job queue (Bull with Redis backing). Vet writes three-line clinical notes, Claude generates the full summary. Test the prompt against real vet language and edge cases (surgery vs checkup vs emergency).
  • Week 3-4: Cornerstone PMS connector (read-only first). Auth into their API, pull appointments and patient info, map it to our schema, handle their rate limits and eventual consistency quirks. This is the risk week.
  • Week 4: Intake form builder and storage. Let practices customize questions. Store encrypted in Postgres. Wire the forms into the customer dashboard.
  • Week 4-5: Testing and edge-case coverage. Load test appointment reminders. Test multi-tenant isolation (crucial for healthcare). Break things deliberately to see what fails.
  • Week 5: Production deployment to Vercel (frontend), Railway or Render (backend). Observability: Sentry for errors, PostHog for usage, structured logging. Write the runbook.

What's hard about this build

The PMS integration is the technical trap door. Cornerstone's API is undocumented in places and their appointment sync is one-way only, which means I'm building a parallel workflow tool, not an integrated one. If a vet practices books an appointment in Cornerstone without it syncing to VetAI, the reminder fails silently and the trust dies. I have to either reverse-engineer their webhook behavior or poll every five minutes, and both solutions feel fragile. AVImark is even worse: closed API, requires them to build the connector or we're pulling data via their web interface, which breaks the moment they update their HTML. The other hard part is HIPAA. We're storing discharge summaries and patient info, which means encryption at rest, encryption in transit, audit logging for who accessed what and when, and probably a business associate agreement with any practice that's part of a larger entity. I'd budget 20 hours just for a security audit before shipping.

What's fast because of AI

Claude compresses what was a week of work into days. I'd use it for test generation: give it the discharge summary prompt, ask for edge cases, generate test suites that catch the weird vet terminology that would otherwise slip past code review. The copy for the product UI, the empty states, the error messages, the onboarding tooltips - all of that Claude handles in hours instead of me iterating on it with the founder. For debugging PMS integrations, I paste error logs and odd data into Claude and get hypothesis within seconds. And the discharge summary prompt itself: the domain knowledge gap between me and a vet is huge, so I use Claude to enumerate what a vet actually needs to see in a summary, then refine the prompt against real veterinary cases. That compression from "research and ask the vet" to "generate and iterate" saves maybe 40 hours.

How I'd hand it off

I'd record a Loom walkthrough of the admin interface, the customer dashboard, and the Stripe test flow. The runbook covers deployment (all infrastructure as Terraform), secrets management, scaling the job queue if reminder volume spikes, and the procedure for adding a new PMS connector (it's templated so the next operator can fork it). I'd do a 30-day pager rotation where you ping me if something breaks, and I respond within two hours. All API credentials and database backups go into your secrets manager (I'd set it up before handoff, not after). Linear board gets an "open questions" column: the HIPAA audit path, the decision on which PMS to add second, the conversation with IDEXX about whether they see us as a threat. You'll know where my head was when I stopped.

Hire Caleb to build this for you.

VetAI is available to own for $200 flat. Or pay $75/hr for a Roll Digital chief operator to build it for you, AI-amplified.

See pricing →