Creator Colosseum Hackathon Submission - Travellum

💡 Inspiration

The idea for Travellum was born from a personal frustration. Last year, while attempting to plan a solo trip, I found myself drowning in a sea of open browser tabs—Wikivoyage for cultural sights, Numbeo for cost of living, government travel advisories for safety, and Reddit for "real" human advice. It was exhausting and disjointed. I realized there wasn't a single platform that could give me a holistic, trusted view of a destination instantly. I wanted to build something that didn't just dump raw data, but actually guided you like a knowledgeable expert friend. As a student founder, I wanted to tackle this real-world problem by making elite travel intelligence accessible to everyone for free.

🚀 What it does

Travellum is an intelligent, AI-powered travel companion that helps young explorers discover the world safely and on a budget. It aggregates real-time data and leverages advanced AI to generate instant, comprehensive travel guides.

Key Features:

  • 🛡️ AI Safety Intelligence: It doesn't just say "safe" or "dangerous." It provides a granular 0-100 safety score with specific breakdowns for local crime, LGBTQ+ safety, women's safety, and political stability, helping vulnerable travelers make informed decisions.
  • 🎧 Immersive Audio Guides: We built a system that generates audio tours for history and safety advisories on the fly. You can listen to the history of a city while walking through it, just like a museum guide.
  • 💰 Smart Budgeting: It calculates precise daily cost estimates for three distinct traveler profiles: Budget, Medium, and Luxury, converting everything to local currency.
  • ⚡ "Crowdsourced" Speed: The application gets faster the more people use it. The first person to search for a country generates the guide, and every person after that gets the result instantly from our global cache.

💻 How we built it

We built Travellum as a modern full-stack web application, prioritizing performance and cost-efficiency.

  • Frontend: We used Next.js 15 (App Router) and React 19 for the core framework, styled with Tailwind CSS. To give it a premium, fluid feel, we heavily utilized Framer Motion for animations.
  • The Brain (AI): We integrated Google Gemini 2.5 Flash. We chose this model specifically for its massive context window and lightning-fast inference speed. We engineered complex prompts to force the LLM to output strictly structured JSON data, ensuring our UI never breaks despite the dynamic content.
  • The Voice (TTS): This was the trickiest part. Instead of paying for expensive APIs like ElevenLabs, we engineered a custom pipeline using Microsoft Edge TTS running in a Python shell via Node.js child_process. This gives us high-quality neural speech for free.
  • Database & Storage: We implemented a "Double-Caching" strategy using MongoDB to store the structured JSON data and Firebase Storage to host the generated audio files.

🛑 Challenges we ran into

  • The "Hallucination" Problem: Early on, the AI would sometimes return valid text but invalid JSON, breaking the app. We had to iterate significantly on our prompt engineering to enforce strict schema compliance.
  • Serverless Timeouts: Our audio generation pipeline (Text -> Python Script -> Audio File -> Firebase Upload) was initially too slow for Vercel's serverless function limits. We solved this by optimizing the audio buffering process and parallelizing the database writes.
  • Authentication Nightmares: We originally tried using third-party TTS APIs but faced constant 401 Unauthorized errors and billing complexities. This forced us to pivot to the custom Edge TTS solution, which ended up being a blessing in disguise as it made our project 100% free to run.
  • Turbopack Issues: Migrating to the latest Next.js 15 introduced some unstable Turbopack errors that caused random 500 crashes, requiring us to carefully debug our API routes and dependencies.

🧠 What we learned

  • Latency is the enemy of UX: Even with the smartest AI, if a user has to wait 10 seconds, they leave. We learned to mask these delays with optimistic UI updates and recognized the immense power of caching—turning a 5-second API call into a 20ms database read.
  • Constraints breed creativity: Being refused by expensive APIs (due to cost or technical errors) forced us to build our own custom TTS pipeline. This not only saved money but taught us how to integrate Python scripts into a Node.js backend.
  • The value of structure: We learned that for AI to be useful in a product, it must be tamed. Prompt engineering isn't just about asking questions; it's about designing rigorous output contracts that the AI must follow.

Built With

Share this project:

Updates