← Studio archive
selfx · dogfood

Our own inbound leads had no automated follow-up — each inquiry was replied to manually or missed.

Live · response data accumulating7 components

selfx runs its own 5-minute lead response system in production — it is the very site you are reading this on. We built it for ourselves first, the same engine we sell, so the studio is the first proof, not a slide.

If you're a dental practice or clinic missing form submissions on nights and weekends, this is the exact system.

01 Problem

selfx's own contact and booking forms generated real inquiries with no automated follow-up. Each one was either answered manually — a 30-to-60-minute lag while someone happened to check the inbox — or it slipped through entirely on a busy day. The lead was already paid for by the time it arrived; losing it to a slow reply is the most expensive way to lose a customer.

02 What we built

A complete lead-response engine, wired into the live site. A new inquiry hits a Next.js API route, is validated and written to Postgres with a unique reference, and immediately pings the owner on Telegram (this part is live now). On top of that runs a productized engine (pure decision core, dependency-injected, unit-tested), triggered asynchronously once the lead is saved and switched on when the Claude and email keys are connected: an instant AI reply bounded to a per-vertical whitelist of approved claims, a multi-turn qualification loop that scores lead fit from 0 to 100 and tags the lead, a deterministic opt-out check that runs before the model (genuinely fail-closed) for compliance, and a follow-up cadence drained by an authenticated cron job that stops the moment a lead replies or books. Four vertical presets ship out of the box — consulting, beauty, dental/repair, real estate — the exact speed-sensitive ICP. First-response time is instrumented per conversation (stored as a timestamp; latency is computed from it).

03 Result

Running live in production. Every inquiry is written to Postgres and pushed to the owner's Telegram within seconds — there is no longer an unwatched inbox where a lead can sit. The full AI reply, qualify, and follow-up engine is built, wired to live routes, and unit-tested across every vertical preset and the inbound path; it activates the moment the Claude and email keys are connected. Because first-response time is already instrumented per conversation, the real before/after number gets measured from day one rather than guessed — so we are not printing a metric we have not measured yet.

Stack
  • Next.js (API routes)
  • Postgres
  • Claude API
  • Telegram Bot API
  • Stripe Checkout
  • Cron follow-up queue
  • Vitest unit tests
Run the live demo

Same system, your business

Want this exact path running for your leads?

The studio direction is simple: diagnose what is leaking, scope the right system, and build something a team can actually use.

Book a session