SUUR case study · design + engineering, end to end
An AI SDR named Juni.
TripLeads.AI is a lead-capture platform for travel businesses. Partners embed a concierge on their site; she greets every visitor, qualifies the trip in real time, and hands the sales team a booking-ready brief. SUUR built all of it: product, widget, dashboard, AI pipeline, and the site that sells it.


01
The lead arrives at midnight. The form doesn't care.
A honeymooner lands on a resort site at 11pm, ready to plan a $20,000 trip. What she finds is a contact form and a promise to “get back within 2 business days.” She closes the tab. The resort never knows she existed.
Travel runs on inquiries, and the intake step is where they die. TripLeads sits exactly there: before the CRM, before the booking engine, at the moment of intent.
Juni answers on the first message.


02
A brief, not a ping
What lands in the partner's inbox is not “you have a new lead.” It is the structured intake a sales team would build from a 20-minute discovery call: contact, trip details, planning status, concierge notes. Every lead is scored against the partner's own capacity facts and triaged as a good fit, needs review, or likely mismatch before a human reads it.
Guest counts get parsed from prose (“around 200”, “a few dozen”). Out-of-scope requests get a polite redirect in the visitor's own language before the model is even called.
- 12trip types qualified
- 8partner types served
- 6languages, out of the box
- 24/7never off shift
The build
Built like software, not a chatbot wrapper
Deterministic where it counts
The AI is boxed in by plain code: server-side guardrails, schema-shaped extraction, lead caps enforced in the database, and a resumable session model that survives a closed tab. Claude does the conversation; TypeScript does the truth.
Streaming, with a fallback
Replies stream token by token over NDJSON through Supabase edge functions, with a dual-mode path so older embeds still get whole responses. React, TypeScript, and Vercel on the front; Postgres, RLS, and edge functions behind.
Held to a number
788 tests across the platform, from the guest-count parser to billing guardrails that flag accounts riding a paid tier without a subscription. The kind of coverage that lets one team ship product and marketing from the same repo.


03
A site that sells while everyone sleeps
The marketing site is prerendered to 76 static pages, including 19 programmatic trip-type-by-destination pages with unique content and structured data on every route. Copy targets terms with real search demand, not vanity phrases.
When a wedding-venues vertical was added, the same machinery shipped it in one account setting: chat intake, briefs, notifications, and dashboard all swap lifecycle without a second product.

The demo
To sell it, we invented a hotel
A product like this demos best on a property that feels real. So we built one: Pandora, a 16th-century Tuscan estate that does not exist, with a brand, an eleven-page site, and Juni answering questions about rooms that were never built.
Read the Pandora case study →Product, pipeline, and the site that sells it. One team of one.
- 12 trip types, 6 languages
- 8 partner types served
- 76 prerendered pages
- 788 tests across the platform
