Wayfare
A corporate travel booking assistant: state your meetings, get itineraries that satisfy every hard constraint, and book with policy checks and manager approval.
- When
- Jul 2026
- Role
- Solo
- Built with
- FastAPI, LangGraph, Next.js, TypeScript, Supabase, pgvector, Claude, Duffel
- Code
- Public code
- Links
- GitHub
- By the numbers
- 53 commits of mine over 3 working days, Jul 27, 2026 to Jul 29, 2026
What I built
You type your meetings, or paste them as prose and confirm the draft. A constraint planner enumerates every itinerary that satisfies the hard constraints, then AI layers rank them and assess risk. Booking re-searches every leg against live flight data before anything is ticketed, and out-of-policy trips route to a manager.
What was hard
An empty result is useless. If no itinerary is feasible, the planner returns the constraint that blocked it and the smallest change that would fix it.
Money and time. Prices are stored as integer cents and every time is timezone-aware, because a flight that crosses midnight in another timezone is exactly where bugs hide.
What I learned
Each AI layer has a deterministic fallback, so the planner still works when the model is down. The model makes it better, it isn't holding it up.
Results
Flight search and booking run against Duffel's test environment. A live token is refused outright, so it can never buy a real ticket by accident.
Policy answers are grounded in the company's policy document, not the model's memory.