Inspiration 🦫
Canada is one of the most beautiful countries in the world, but a lot of people underestimate it as a travel destination. Many people think of Canada as just a few cities and cold weather, so they overlook the incredible national parks, coastlines, mountains, and small towns across the country.
Part of the reason is that discovering these places is difficult. Most travel websites recommend the same well known locations, and planning a multi day trip across a country as large as Canada can take hours of research.
We wanted to build something that would expose people to the real beauty of Canada. Instead of digging through travel blogs and maps, people could generate a full itinerary and actually preview destinations before they visit them. That idea became BeaverTrails, an AI powered travel planner that helps people discover hidden gems across Canada.
What it does 🪵
BeaverTrails is an AI powered Canadian travel itinerary planner that creates personalized multi day trips based on a user's interests, travel style, and preferences.
Users begin by filling out a short survey, and from there the platform generates a custom itinerary with destinations, travel routes, and descriptions for each stop. The route is displayed on an interactive 3D globe so users can visually explore their journey across Canada.
Each stop can be opened in an immersive 360° experience. Some locations use Street View, while others can be generated with AI so users can preview landscapes and environments before traveling there.
We also built a real time AI assistant named Beav that can answer questions, recommend new destinations, and modify the itinerary on the fly.
To make the experience more immersive, BeaverTrails includes AI voice narration and location based ambient audio so users are not just reading about a place but getting a preview of what it might feel like to be there.
How we built it 🪓
We built BeaverTrails using Next.js, React, and TypeScript, with Tailwind CSS for the interface and Three.js plus react-globe.gl for the interactive 3D globe.
For itinerary generation, we used Google Gemini through OpenRouter. Gemini analyzes the user's travel preferences and generates a structured multi day itinerary with destinations, descriptions, and suggested travel routes. We then used the Mapbox Geocoding API to validate and refine coordinates so every stop could be placed accurately on the globe.
For immersive exploration, panoramic environments are rendered inside Three.js spheres so users can look around in full 360°. Some scenes come from Street View while others are generated using the World Labs Marble API. We also integrated ElevenLabs for AI voice narration and used the Web Audio API to generate ambient soundscapes based on the type of location being explored.
Google Antigravity also helped us during development when we were working through the system design and documentation. Because BeaverTrails combines AI generation, geospatial processing, immersive media, and real time interaction, the architecture involves several connected pipelines. We used Antigravity while drafting and refining our architecture explanations, helping us organize how the itinerary generation, immersive experience, and assistant systems fit together. It allowed us to quickly iterate on how we explained the product and its technical flow while we were still actively building the platform.
Challenges we ran into 🧱
One of the biggest challenges was making sure the AI generated itineraries were actually practical. AI can suggest interesting destinations, but those suggestions do not always consider travel distance or route efficiency. We had to add validation and routing logic to make sure the trips were realistic.
Another challenge was geocoding accuracy. Since our experience depends on mapping destinations correctly, even small coordinate errors could place stops far away from where they should be. Building a reliable coordinate validation step was important.
Performance was another challenge. Rendering immersive 360° environments with audio, narration, and interactive elements in the browser required careful optimization.
Accomplishments that we're proud of 🏒
We are proud that BeaverTrails makes discovering Canada feel interactive and immersive. Instead of reading about destinations, users can explore them visually and get a preview of what their trip could look like.
We are also proud of Beav, our AI assistant, which makes the itinerary flexible instead of static. Users can ask questions and modify their trip in real time.
Most importantly, we are proud that the platform helps highlight the beauty of Canada and introduces people to destinations they might never have considered visiting.
What we learned 🏆
This project taught us a lot about connecting different systems into one experience. We combined AI generation, geospatial APIs, 3D visualization, immersive media, and audio to create a travel planning tool that feels interactive.
We also learned that explaining a complex system clearly is just as important as building it. Tools like Antigravity helped us organize our thinking and communicate how the different components work together.
Finally, we learned how much immersive elements like narration, sound, and visual exploration can improve the experience of planning a trip.
What's next for BeaverTrails 🦫
We want to keep expanding BeaverTrails into a more complete travel platform.
Future plans include improving the mobile experience, adding collaborative trip planning so groups can build itineraries together, and integrating real time weather so trips can adapt to conditions.
We are also interested in adding booking integrations so users can move directly from planning to reserving hotels or activities.
On the immersive side, we want to expand the VR experience with spatial audio and more interactive destination previews so people can explore Canada in an even more realistic way.
Built With
- next.js
- react
- three.js
- typescript




Log in or sign up for Devpost to join the conversation.