Inspiration

Our project started with one thought: your route shouldn’t just be a function of (x, y, z), but of time too.

Most navigation systems treat the world as spatial and largely static. They can tell you where something is and how long it will take to get there, but they rarely account for the fact that the world around us changes with time. A concert, club meeting, market, or community event might only exist as a meaningful destination for a few hours.

On a two-hour drive to go rafting, one of us had an extra hour to spare and happened to notice an antiques market along the route. After stopping to explore it, they found two books they had been meaning to read. It was a small moment, but it highlighted how many worthwhile experiences exist around a journey simply because you happen to be in the right place at the right time.

We saw the same problem at Cornell. Events are scattered across calendars, flyers, and group chats, and we often only hear about something interesting after it has already happened. So we built Capybara Pigeon around the idea that time should be a first-class dimension of navigation. A route is not just (f(x,y,z)), but (f(x,y,z,t)).

The pigeon, inspired by homing pigeons that have navigated long distances and carried messages for centuries, scouts ahead, finds worthwhile stops, and helps guide you along your route. The capybara, famously calm and social, handles the relaxed planning side: helping you fill free time with experiences that fit your interests, schedule, and budget.

Together, they make Capybara Pigeon: navigation not just through space, but through time.

What it does

Capybara Pigeon turns navigation into a function of both space and time. Instead of only asking where can I go?, it asks what exists around me right now, what fits my schedule, and what can I realistically do?

  • Explore: Drag the time slider to watch campus events appear when they begin and disappear when they end. Tap any event to see details, timing, and location.
  • Plan with Capybara: Choose your interests and availability, and Gemini builds a walkable multi-stop itinerary that fits your schedule and budget using your Capital One balance.
  • Route with Pigeon: Set a start and destination, and Pigeon suggests worthwhile events along the way. Add a stop to your route and immediately see updated walking paths, arrival times, departure times, and ETA.
  • Live Pigeon: Set the kinds of experiences you want to hear about, then go about your day. When Pigeon notices a relevant event happening nearby or starting soon, it proactively texts you through Photon. You can reply to add it to your route and keep exploring.

Together, these modes let users navigate not just through places, but through the temporary opportunities that exist around them in time.

How we built it

One Node.js 22 + Express server serves the web app, holds the event data, and talks to four services:

  • MapLibre GL JS on an OpenStreetMap-based basemap. Events are animated markers that appear when they open and disappear when they close as you scrub the time slider.
  • OSRM (FOSSGIS foot profile) for real pedestrian paths and walking times.
  • Google Gemini with structured JSON output against a schema, to plan three-stop nights and write the pigeon's texts, with a chain of fallback models and a rule-based backup.
  • Capital One Nessie as the budget layer: we use account balance data to recommend events that fit within the user’s available budget.
  • Photon Spectrum (spectrum-ts) to send and receive iMessages, with Server-Sent Events pushing replies into the open app.
  • An Expo Go shell wraps the same web app on a phone and adds GPS, compass heading and haptics.

Challenges we faced

  • Texting more than one phone. Photon's shared line can only text people who have texted it first, so we built a "JOIN" code flow to opt users in.
  • Unreliable Wi-Fi and rate limits. Every integration has a fallback so the app keeps working. -Avoiding feature bloat we had a lot of ideas about how to make the app better, but we realized that we were diluting the core of the app, and instead filtered our ideas by how well they augmented the preexisting functionalities rather than solely on the feature.

What we learned

We learned that time is an overlooked dimension in navigation: the problem is not just where something is, but when it exists and whether it fits into the rest of your journey.

We also learned a lot from integrating sponsor APIs into one product. In particular, we learned to keep AI recommendations separate from direct financial actions, to respect messaging-platform consent requirements, and to design around API failures and imperfect external data from the start.

Accomplishments that we're proud of

  • A real end-to-end navigation loop: users can discover an event, add it to their route, and immediately see how it changes their itinerary and ETA.
  • 4D navigation: we built the experience around time as a first-class dimension, so events appear, disappear, and become feasible or infeasible depending on when the user is traveling.
  • Live Pigeon: users can set their preferences and receive proactive Photon messages when relevant events are happening nearby or starting soon.
  • Budget-aware recommendations: Capital One Nessie helps us surface experiences that fit within the user’s available budget.
  • Fallbacks for every integration: the app is designed to keep working even when an external API fails or returns incomplete data.
  • One responsive interface across laptop and phone, so the same planning and exploration experience works on the go.
  • A friendly design: Capybara and Pigeon make navigation feel playful and exploratory instead of purely utilitarian.

    What's next for Capybara Pigeon

  • Accounts and persistent preferences, so users can save interests, budgets, and past plans across sessions.

  • Live event ingestion from Cornell’s public events calendar and club-submitted sources, so the map reflects what is actually happening around campus in real time.

  • Messaging at scale: move Live Pigeon to a dedicated Photon line and make proactive event alerts reliable across more users and devices.

  • Group planning, so friends can combine interests, availability, and budgets to build a shared itinerary.

  • Smarter personalization using past event choices and financial context to improve recommendations over time.

  • Accessibility-aware routing, including step-free, better-lit, and other preference-sensitive walking routes.

  • Beyond Cornell: expand the same spatiotemporal navigation model to cities, road trips, festivals, and other places where temporary experiences are easy to miss.

Built With

Share this project:

Updates

Submission history