Veterinary care marketplace

A stalled MVP became an AI referral platform.

TriaPet arrived as a hand-off MVP whose own README admitted every phase was incomplete. We rebuilt it into the veterinary referral platform we now operate: AI urgency triage, real-time clinic routing, portals for pet owners and clinics and a mobile app on one API, a license-verified clinician network, and measurement honest enough to tell us what to fix next.

Engagement
Venture we operate
Company
TriaPet
Sector
Veterinary care marketplace
Story
Rescue
TriaPet homepage on desktop: "Move a case in one message." beside a spoken case about a French bulldog, parsed into patient, presenting and stability rows and sent to five clinics that reply in 11, 24 and 37 seconds.
Venture we operateTriaPet
RescueVeterinary care marketplace
Fig. 01TriaPet homepage on desktop

The number

The one figure we’ll stand behind.

Open the receipt for where it came from, how it was counted and when we last checked it. How we count

281,949

veterinary board records across 30 states and DC behind the clinician verification gate

A doctor claims a license against the state board roll, then passes an SMS possession check.

Venture we operate
receipt

SOURCE · TriaPet license index, as served by the live counter on triapet.com

METHOD · Row count of the verification index across 31 veterinary licensing boards (30 states plus DC), read from the live counter on 2026-09-28. It counts every credential the boards publish (technicians, clinic premises, permits and lapsed licenses included), not only active veterinarians.

VERIFIED · 2026-09

CLASS · platform account

✓ every number on this site opens its receipt

CLAIM · license-records

How we count

01 · Where they started

A hand-off MVP whose README admitted it wasn’t done

The idea was right: a pet owner describes a symptom, learns how urgent it is, and gets routed to a clinic that can see them. What we inherited was a partly built Next.js and MySQL app with a single GPT prompt doing triage, around fifty symptom flows in JSON, and a Figma file. The previous developer’s README was candid: all phases were incomplete, and two had no development at all.

  • Next.js 15 + MySQL, with one prompt standing in for a triage engine
  • Symptom decision flows in JSON: kept, and used to inform the rebuild
  • README, verbatim: “All phases are incomplete.”

02 · The wall

A triage demo is one prompt. A triage business is everything around it.

Production meant urgency scoring we could stand behind, clinics notified the moment a referral exists, clinicians whose licenses are real, billing per referral, permissions for every kind of staff member, production errors caught before users report them, and a funnel instrumented well enough to show where owners give up. The hand-off was a useful spec. It was not a foundation.

03 · What we built

What we built.

Named systems, described by what they do, one part at a time.

  1. Part 1: Triage that scores urgency, then routes in real time

    Owners walk through a guided wizard. Gemini scores urgency RED, YELLOW or GREEN, with a dedicated toxicology path for “my pet ate something.” The platform then matches nearby clinics and routes the referral live over WebSockets: broadcast to the area, or DIRECT to one clinic, with a status the owner can watch change.

    • RED / YELLOW / GREEN urgency scoring with a toxicology sub-flow
    • Referral broadcast and DIRECT modes over Socket.IO
    • Clinic lifecycle modeled in the schema: lead, contracting, setup, training, pilot, live, at-risk
  2. Part 2: Owner and clinic portals, one API, one mobile app

    A server-rendered pet-owner portal, a clinic dashboard and an internal admin, all React + Vite over a single Express 5 + Prisma 7 + Postgres API, plus an Expo app for iOS and Android. Permissions are real and documented. A per-referral invoice lifecycle driven by Stripe webhooks is built into the schema, and an ops scanner pulls production errors from Cloud Logging, Error Reporting and Logz.io, classifies them against a catalog of known signatures, and writes a report someone can act on.

    • Seven admin roles and six clinic roles, documented at the repo root
    • Invoice lifecycle DRAFT → SENT → PAID / OVERDUE, modeled in the schema for Stripe webhooks
    • Production errors classified before a user has to report them
  3. Part 3: A verified clinician network, and a voice agent with a boundary

    The newest layer, now in pre-launch, is a doctor-to-doctor transfer network. A vet claims their license against the full state board roll and passes an SMS possession check. Transfers go out in-app to members and by SMS, with no-account reply links, to everyone else, so SMS is the growth loop rather than a fallback. When a text goes unanswered by a case’s deadline, Tria, a Retell.ai voice agent, calls the clinic’s front desk within calling hours, gives a versioned spoken disclosure, asks exactly one question, and posts the answer to the sender’s live status board.

    • A tested disclosure boundary: the agent cannot speak owner names, prices or clinical detail
    • Simulated calls graded against a written rubric with hard-fail gates for impersonation, invented detail and identity leaks
    • Every SMS, email and call attempt leaves an auditable ledger row
  4. Part 4: Measurement that tells us what to fix next

    A written Mixpanel tracking plan runs across three apps. Conversions such as referral accepted and booking confirmed are recorded by the API, so they count even when no browser is open, and identity is stitched from the first anonymous visit through guest triage to signup. GTM and GA4 carry UTM attribution, and consent-aware Klaviyo lifecycle email runs alongside Twilio SMS. The first 30-day report was humbling and useful: it showed exactly where owners dropped off, and those two breaks became the roadmap.

    • Server-authoritative conversions, identity stitched across the whole journey
    • GTM + GA4 with UTM attribution captured automatically
    • Consent-aware lifecycle email from booking through invoice and re-engagement

04 · Up close

Real screens and real product photography, uncropped. Select any image to enlarge it.

05 · One more receipt

One more figure worth checking.

Same rule as the headline number: it opens to its source, its method and the month we checked it.

~25

consent-aware lifecycle email events on one product, alongside Twilio SMS

Booking confirmed or rescheduled, invoice sent, paid or overdue, re-engagement, review requests.

Venture we operate
receipt

SOURCE · TriaPet platform repository (Klaviyo event catalog)

METHOD · Count of distinct lifecycle events wired to Klaviyo with consent checks.

VERIFIED · 2026-09

CLASS · repository

✓ every number on this site opens its receipt

CLAIM · lifecycle-events

How we count

Venture we operate

We run our companies on the same rails we sell you.

TriaPet is a venture we operate, so there is no testimonial on this page. The proof is that we depend on it: when the engineering is wrong, we are the first to feel it.

Your turn · Production Gap Review

Find out what’s between you and production.

Bring your prototype, or just the idea. Leave with a written gap map — deployment, security, payments, integrations, growth readiness — before you spend a dollar. If we’re not the right team to close the gaps, the map is still yours.

30 minutes. A written gap map. No pitch unless you ask for one.

info@synaptech.io +1 (925) 255-9507 Pleasanton, CA

Start with the gap map

The live site, your repo, or a share link from an AI app builder like Lovable or Bolt. Private? Write “private” and we’ll ask for access.

Your answers prime the review agenda. We use them to reply — nothing else. Privacy policy

Free Production Gap ReviewBook a call