ProjectCase Study

Wild Route

Prompt-first route planning for adventure travelers

A deployed prompt-first travel planner that turns a rough adventure brief into ranked multi-stop routes with visible reasoning, estimates, and booking boundaries.

Year2026
ExperienceLive public demo
CategoryProduct engineering + applied AI UX
Next.jsTypeScriptSupabase RLSStripePlaywright
Open public demo
Wild Route interface preview
ContextThe work

A calm interface for a dense decision.

Wild Route starts with the traveler's intent, then exposes route reasoning, confidence, estimate boundaries, and provider handoffs at the point of choice. The experience stays useful even when live providers or immersive media are unavailable.

01

The problem

Turn an open-ended adventure brief into a small, explainable set of route options without presenting planning estimates or external booking handoffs as confirmed travel inventory.

02

The user

Independent adventure travelers comparing pace, climate, budget, and detours before validating details and booking with external providers.

03

My role

Independent product direction, UX/UI, Next.js frontend, route/API architecture, security boundaries, testing, and deployment

ProofDecisions

The choices that made the product hold together.

01

Started from travel intent

Started from travel intent and kept route reasoning, confidence, freshness, and estimate boundaries visible at the point of decision.

02

Built a deterministic, schema-validated

Built a deterministic, schema-validated route engine before adding live model or provider dependencies.

03

Kept browser traffic behind

Kept browser traffic behind same-origin Next.js handlers, with ownership checks, Supabase RLS, and server-only booking-link construction.

04

Reworked save and preview

Reworked save and preview flows for stateless serverless hosting after the first deployed implementation exposed a process-memory assumption.

ScreensSelected work

The interface, in context.

Wild Route selected route planner with ranking reasons
Ranked alternatives make the route logic inspectable before a traveler commits.
Wild Route mobile route planner
The mobile sequence keeps route order, reasons, estimates, and actions intact.
Wild Route mobile route sharing view
Sharing is bounded to an explicit preview instead of exposing the original prompt.
ReleaseProof and boundaries

What the build makes visible.

Verification

  • 74 deterministic Vitest cases pass across route generation, entitlements, validation, security, share, and handoff behavior.
  • 15 Chromium checks cover the hosted golden path, keyboard flow, axe accessibility, reduced motion, and media fallbacks.
  • Five Supabase migrations pass static verification; the local and Vercel production builds pass with zero production dependency vulnerabilities.

Limitations

  • The public demo uses a deterministic planning dataset, planning estimates, and inspectable route generation rather than live inventory or an LLM.
  • Live managed Supabase, Stripe, email, and travel-provider integrations remain intentionally off; booking completes on external provider sites.
  • Demo saves use browser-local storage and previews use schema-validated stateless recipes, not cross-device account persistence.
MoreCurrent case studies

Explore the other current projects where product thinking is carried through interface, architecture, testing, and release.