Ghana heritage-travel platform — Flutter app + Next.js site, AI plans it and a human books it
# SankofaGo Platform
Ghana heritage travel for the diaspora. An AI plans it. A real person books it.
*Interactive, pannable version: open the architecture map*
## What it is
SankofaGo is a two-surface travel platform: a Flutter app (release candidate — 454+ passing tests, 27 Supabase migrations with live RLS proofs) and a live Next.js website with a working trip builder, booking pipeline, and lead capture. Travelers describe the trip they want, the system drafts an itinerary with an honest estimate range, and a human on the SankofaGo team verifies suppliers, prices, and availability before anything is confirmed. Pre-launch: no user counts, ratings, or revenue claims — deliberately.
## Why I built it
Diaspora travelers planning a first trip to Ghana face a real trust gap: scattered suppliers, opaque pricing, and no one accountable if the plan falls apart on the ground. Pure-AI travel tools make that worse by confidently inventing availability. SankofaGo's answer is human-in-the-loop by design — the AI accelerates planning, but a real person owns every booking.
## Architecture
Entry points → planning → AI → commerce → stores:
| Layer | What happens |
|---|---|
| Entry | Next.js site (Firebase App Hosting) + Flutter app (feature-first: explore, plan, trips, checkout, supplier messaging) |
| Planning | 7-step trip builder on both surfaces, kept in lockstep by a written parity/estimate contract |
| Pricing | Deterministic engine (`src/lib/pricing.ts`): free-text intent parsing, versioned catalog, tier markups, ranges rounded outward — no LLM in the money path |
| AI | Nana, the travel companion, behind a swappable `NanaBrain` interface: offline `LocalNanaBrain` always present, feature-flagged `RemoteNanaBrain` → `nana-reply` Supabase Edge Function → Gemini 2.5 Flash. Site chat runs Genkit + the same model |
| Commerce | 27 Supabase migrations; SECURITY DEFINER writer functions compute totals server-side and ignore forged client prices; every migration ships in …