We rebuilt a law firm's entire intake in 3 weeks
A build log: decisions, dead ends, and the system that emerged.
Three weeks. That's how long it took to go from "our intake process is broken" to a fully operational AI agent handling client qualification, document collection, and appointment booking for a mid-size estate planning firm.
This is the build log. Every decision, dead end, and lesson — in order.
Week 1: Discovery and the real problem
The firm came to us thinking they needed a better chatbot. They'd tried one — a template-based thing that asked "How can I help you?" and then routed to a contact form. Nobody used it.
After two calls with the managing partner and a day auditing their actual intake flow, we realized the chatbot wasn't the problem. The problem was that their entire intake process assumed a human would be available within minutes, but their humans were in consultations all day. Leads would call, hit voicemail, and never hear back for 2-3 days. By then, half had called another firm.
The solution wasn't a chatbot. It was an AI agent that could do everything the best intake coordinator does — qualify, collect, schedule — but available 24/7 and trained on the firm's actual expertise.
Week 1-2: Building the brain
We spent more time on the system prompt than on any other single component. The prompt encodes the firm's qualification criteria (estate value thresholds, case type routing, urgency signals), their communication style (professional but warm, never condescending about legal complexity), and their specific service offerings.
Dead end #1: Our first version of the prompt was too formal. It read like a legal FAQ. We rewrote it using transcripts from actual intake calls the firm provided — real language from real conversations. The difference was immediate.
Dead end #2: We initially tried to have the agent handle complex legal questions. Bad idea. We scoped it back to qualification, collection, and scheduling only, with a clear handoff: "That's a great question for your attorney — let me get you scheduled so you can discuss it directly."
Week 2-3: The system
The agent runs on Claude API with a Next.js frontend deployed on Vercel. Conversations persist in Supabase with real-time analytics. When a lead qualifies, the system automatically creates a HubSpot contact with the full transcript attached, triggers a Calendly booking flow based on the matched attorney's availability, and sends a confirmation email with a secure document upload link.
The document upload was the hardest technical piece. We needed the agent to request specific documents (trust documents, tax returns, property deeds) based on the case type, provide a secure upload interface mid-conversation, and automatically categorize what was uploaded. We built a simple upload flow that the agent triggers contextually — "I can help you get a head start. Would you like to securely upload your current trust documents now?"
Launch and what happened
Response time: 52 hours average → under 4 minutes. Lead-to-consultation rate: up 2.4×. Additional staff cost: $0.
The managing partner's reaction: "It feels like talking to someone who actually works here."
That was the goal. Not a chatbot. Not an AI demo. A system that feels like the firm, operates 24/7, and lets the attorneys focus on what they're actually good at.
The firm is now on a monthly embedded partnership. We're continuously optimizing the agent based on conversation analytics, adding new qualification paths as the firm expands services, and building out the next phase: automated follow-up sequences for leads who don't book immediately.