πŸ’‘ Inspiration: The "App Limbo" Epiphany

The idea for CompassGenie was born during my honeymoon in Thailand. Surrounded by paradise, I found myself stuck in a digital mess. Because of the wedding rush, I hadn't pre-planned our days, and I quickly realized that modern travel planning is broken.

I was trapped in "App Limbo"β€”the exhausting cycle of acting as a manual data integrator between:

  • πŸ“ Google Maps for pins and navigation.
  • πŸ€– Gemini for itinerary ideas and reasoning.
  • 🌀️ Weather Forecasters to plan for sun or rain.
  • ⭐️ Google Reviews to cross-reference quality and reliability.
  • πŸ’° Budget Trackers to ensure our spending stayed on track.

Instead of enjoying the beaches, I was staring at my screen, wasting precious hours. I asked myself:

"Why am I doing the work that an AI should be doing?"

CompassGenie is the answer to that question. It turns a 45-minute research headache into a 1-2 minute conversation, moving the effort from the traveler back to the technology so you can spend less time planning and more time exploring.

🧭 What it does

CompassGenie is an All-in-One Geospatial AI Concierge. I built it as a unified decision engine that transforms a user's real-time location and personal constraints into a single, synthesized plan.

"Plan my afternoon in South Delhi. I need to find a leather purse under β‚Ή500, avoid high-pollution areas, and finish at a cafe with good Wi-Fi." β€” CompassGenie orchestrates the rest.

Unlike traditional apps that return a fragmented list of links, CompassGenie handles the heavy lifting by orchestrating several complex tasks simultaneously:

  • 🌍 Intelligence Over Links: It doesn't just search; it "reasons" through your request to provide a cohesive, actionable itinerary.
  • ** πŸ“Έ Vision-to-Venue (Multimodal):** Upload any image---a landmark, a street sign, or a storefront. Using Gemini 3's Vision tokens, CompassGenie identifies the location and generates a route instantly.
  • πŸ›‘οΈ Environmental Awareness: Automatically checks real-time Weather and evaluates Air Quality Index (AQI) to ensure your plan avoids high-pollution zones.
  • πŸ’° Constraint-Aware Filtering: Respects specific personal needs, such as finding a "leather purse under β‚Ή500" using real-world local business data.
  • πŸ›£οΈ Smart Navigation: Calculates the best routes to your destinations and presents them in a single, conversational interface.

By merging geospatial data with environmental and commercial insights, CompassGenie eliminates the "app-switching fatigue" and simplifies complex trip planning into a single conversation.

πŸ› οΈ How I built it

I engineered CompassGenie to move beyond the "Chatbot" era into the "Agentic" era, focusing on bridging the gap between LLM reasoning and real-world spatial data.

  • 🧠 Orchestrating Intelligence with LangGraph: Instead of a linear script, I built a stateful, cyclic graph. This allows the agent to self-correct: if a suggested route is too polluted (AQI) or exceeds a time-bound search (the "30-min Dosa" logic), the agent loops back to re-reason and find a better alternative.

  • πŸ€– Leveraging Gemini 3 Flash's Multimodality: I specifically utilized Gemini 3 Flash for its native vision capabilities. By passing raw image tokens directly into the reasoning loop, the agent can identify landmarks or storefronts from social media screenshots without needing a separate OCR or Vision model.

  • πŸ“‘ Precision Grounding via Tool-Calling: To eliminate hallucinations, I implemented a strict tool-calling protocol.

    • Google Maps Platform: I decoded complex overview_polylines and synthesized them into visual map layers.
    • Real-Time Data Synthesis: I merged Directions (Traffic), Places (Reviews), and Air Quality APIs into a single State Object, allowing the LLM to reason across multiple data streams simultaneously.
  • πŸ’» Full-Stack Resilience:

    • Backend: FastAPI was chosen to handle the asynchronous nature of agentic tool-calls, ensuring the 10+ second reasoning loops don't block the UI.
    • Frontend Mastery: As a Backend/Data Engineer, I pushed my limits by building a custom Vanilla JS & Tailwind interface to visualize real-time coordinates, proving that AI-driven data can be delivered in a consumer-ready package.
  • πŸ“¦ Environment Consistency: I used Docker to encapsulate the environment, ensuring that the complex dependencies of LangGraph and the Google AI SDK remain stable across any deployment.

🚧 Challenges I ran into

Building a complex geospatial agent as a solo developer presented several unique technical hurdles:

  • 🎨 The Full-Stack Bridge: As a backend developer primarily focused on backend logic and AI, developing the frontend was a significant hurdle. Creating a responsive, user-friendly interface that could visualize complex geospatial data was a departure from my comfort zone and required intense rapid prototyping.
  • πŸ”„ State Management & Loop Control: One of the biggest challenges was designing a "reasoning loop" within LangGraph. It was complex to program the logic that allows the AI to determine exactly when it has gathered enough data from various tools and when it should stop searching and begin synthesizing the final response for the user.
  • ⚑ Concurrency: Coordinating multiple third-party API callsβ€”including Google Maps, Weather Forecast, AQI and Geminiβ€”created potential bottlenecks.
  • 🧩 Data Synthesis: Merging unstructured AI reasoning with structured geospatial data (like coordinates and polylines) required precise prompt engineering to ensure the output was both human-readable and compatible with the map interface.

πŸ† Accomplishments that I'm proud of

πŸš€ Technical Milestones

  • πŸ—οΈ Robust Agentic Orchestration: I successfully implemented a cyclic state machine using LangGraph, allowing the AI to "self-correct" and loop back if the initial tool results don't satisfy the user's constraints.
  • ⚑ Parallel Multi-Tool Execution: To optimize performance, I engineered the backend to trigger asynchronous, parallel API calls to Google Maps and OpenWeather. This reduced total response latency significantly compared to a sequential model.
  • 🧠 Precision Prompt Engineering: I developed a specialized prompting strategy that forces the LLM to output consistent JSON-formatted tool calls, ensuring a reliable bridge between AI reasoning and real-world data.

🎨 Solo Full-Stack Achievement

  • πŸ’» Bridging the Gap: As a developer primarily focused on backend and AI logic, I am incredibly proud of building a complete, end-to-end product. * ✨ UI/UX Mastery: Despite not being a full-stack developer, I pushed myself to design and build a modern, responsive frontend from scratch. This ensures that the complex data being processed in the backend is presented to the user in a clean, professional interface.
  • πŸ“¦ Complete Containerization: I containerized the entire stack (FastAPI + Frontend) via Docker, ensuring that the project is production-ready and can be deployed with a single command.

πŸ’‘ Product Impact

  • πŸ”— Seamless Integration: A single user prompt triggers four distinct API workflows without the user ever seeing the underlying complexity.
  • πŸ’° Real-World Budget Filtering: I successfully implemented logic that can reason through local business data to find specific items (like a purse) within a hard price cap.

πŸ“š What I learned

  • πŸ› οΈ Modern Frontend Development: Since I am not a traditional Full-Stack developer, this project was a crash course in UI/UX. I learned how to connect a high-performance FastAPI backend to a modern frontend, ensuring that complex AI-generated data is presented simply and intuitively.
  • 🧠 Agentic Orchestration: I deepened my understanding of LangGraph and how to manage state in a cyclic system. I learned that the future of search isn't just about finding data; it's about contextual synthesis.
  • πŸš€ Solo Project Management: Building every layer of a complex application alone taught me how to prioritize features and manage the "tech debt" that comes with a high-pressure hackathon environment.

What's next for CompassGenie

  • πŸŽ™οΈ Voice Integration: Implementation of Whisper/WebSpeech API for hands-free "Drive Mode" concierge service.
  • πŸ’Ύ User Preference Memory: Long-term memory storage (PostgreSQL/MongoDB) to remember user preferences like budget, dietary restrictions, etc. This is being built as a standalone module: PreFlex.
  • ⚑ Asynchronous Parallel Tooling: Currently, the agent calls tools sequentially. The next milestone is migrating to a fully Asynchronous FastAPI architecture using httpx. This will allow the agent to fetch Maps, Weather, and AQI data in parallel, reducing latency by an estimated 40%.
  • πŸ”— Social Media "Deep-Linking": Building a feature where users can directly paste a Reels or TikTok URL. CompassGenie will use Gemini’s multimodal window to extract the location from the video and map it instantly.
  • πŸ“± Native Mobile Experience: Transitioning the current web-based UI into a PWA (Progressive Web App) or Flutter application to provide a truly mobile-first, on-the-go experience.

Built With

Share this project:

Updates