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.