Iconic Pathways — AI road-trip planning that asks a question instead of guessing.
A road-trip planner built around one interaction: you type “3-day coastal trip from LA” and get a real itinerary with waypoints, attractions, charging stops, and camping spots.
Around that sits interactive mapping, route optimization, drag-and-drop itinerary editing, Firebase Auth, a voice assistant for hands-free navigation, and a PathScanner AR feature that analyzes a trail in real time using the device camera, GPS, and Gemini Vision.
Natural-language trip planning fails in a specific way: the parser extracts something plausible, the app commits to it, and the user gets a confident itinerary for the wrong place. A single overall confidence score doesn't help either — knowing a prompt is “62% understood” tells you nothing about which part to ask about.
So every field is scored on its own, and the app only asks about the fields that actually came out weak. Confident destination but vague duration? One question about duration. Nothing else.
Pulled straight from the production codebase — unedited except for trimming.
// Generate clarifying questions when confidence is low
static generateClarificationQuestions(parsed: ParsedPreferences): ClarificationQuestion[] {
const questions: ClarificationQuestion[] = [];
const threshold = 0.6; // Ask for clarification below 60% confidence
if (parsed.confidence.destination < threshold) {
questions.push({
field: 'destination',
question: "Where would you like to go? I wasn't sure about the destination.",
suggestions: ['California', 'Pacific Northwest', 'New England', 'Southwest USA', 'Florida'],
priority: 'high'
});
}
if (parsed.confidence.duration < threshold) {
questions.push({
field: 'duration',
question: "How many days do you have for this trip?",
suggestions: ['2-3 days (weekend)', '4-6 days (long trip)', '7+ days (extended journey)'],
priority: 'high'
});
}
if (parsed.confidence.interests < threshold) {
From the running application.

The repository is private, but I'm glad to walk through the codebase live — architecture, tradeoffs, the parts that went wrong first.