FrontDesk Legal
My own product: an AI front desk that answers a personal injury firm's website visitors at any hour, collects the case details and sends the lead to the team.
- Role
- Founder and developer
- Timeline
- 2026, live since June
- Stack
- Next.js 15 App Router, React 19, TypeScript, Supabase with pgvector, Vercel

The situation
Injury cases often arrive at night, when nobody at the firm is answering. Most website visitors leave without speaking to anyone, and those leads go to whichever firm replies first.
Selling to firms also needed proof: every prospect should see the assistant working on their own brand.
What I built
- The marketing site, with SEO set up and a blog.
- A private demo for every prospect firm, behind a link checked on the server with a signed cookie.
- An admin area to create, edit and remove demos and see each prospect's activity.
- The chat engine, phase one: six tables plus pgvector, five API routes (config, init, message, lead, end), lead extraction and scoring, and rate limiting.
What was hard
A form that was marked as spam
The demo request form posted from the server, and the form service rejected those posts as spam. I moved the submission into the browser, where it is treated as a real visitor.
Tracking that broke after the response
Activity tracking read request headers inside Next.js's after() callback, where they are no longer available. I captured them first and passed them in.
A lead score that silently skipped
Some conversations never got a lead score. I found the skip and fixed it in the new engine, so every finished chat is scored.