Trip planning and reservation site
Outdoor travel
HuntingPro
A typed hunt-planning and reservation experience for guided hunts, with a deliberately rule-based assistant, because an LLM was the wrong tool for the job.
- Status
- Live
- Assistant
- Rule-based, no model, no network
- Leads
- Email-verified before notification
- Catalog
- Typed application data
- Stack
- Vite, React 18, TypeScript, Tailwind, Supabase (Postgres + functions), Netlify
The problem
An outfitter offering guided hunts in South Africa, Canada and New Zealand needed a site where visitors could understand destinations, packages and logistics, pick a hunt, and request a reservation, without the team chasing fake or mistyped leads.
What we built
- A React and TypeScript site where destinations, hunts, packages, routes and page metadata are typed application data, so the catalog can grow without one-off page logic.
- A reservation flow with email verification: a request moves through pending, verified and completed states in the database, with expired, failed and cancelled exits, and the team is notified only after the visitor proves the address.
- A rich region experience for the flagship destination, a 'help me pick' guide, and per-page metadata for search.
Where AI fits
- HuntAsk answers common questions about pricing, inclusions, fitness, rifles, safety and a typical day, and can greet a visitor by booking reference from the current trip context.
Engineering discipline
- Verified leads by design: honeypot fields, rate limits, and a state machine the team notification cannot skip.
- Tests for the verification lifecycle and email templates; a typed catalog that a compiler checks before a visitor ever sees it.
What it is worth
- The team spends its time on real inquiries.
- Adding a hunt is adding a record, and the site stays fast because there is almost nothing to load.
The two lanes
Kept deterministic
- Catalog and routing
- Reservation verification
- Rate limits and honeypot
- Common-question answers
Where intelligence helps
Nowhere, on purpose. A lookup table was the right tool.