Inspiration

We drew inspiration from a trip we wanted to take with friends to Washington, D.C., over fall break. We were excited to go, but finding time to plan was harder than expected. We had to research places to stay, things to do, where to eat, and how much everything might cost. It was difficult to find reliable information in one place. We built Finding N.E.M.O. to make that kind of group trip easier to plan together.

What it does

Finding N.E.M.O. is an AI trip-planning agent friends can text. Each person messages it privately; it gathers the missing details, relays questions between friends, and helps resolve disagreements. It then finds trip options that fit everyone’s constraints and tracks who has approved the current plan. If an important detail changes, everyone needs to approve the updated version.

The trip page shows the saved itinerary, costs, sources, and approvals. An optional Nessie sandbox feature can track simulated shared expenses and calculate who owes whom; no real money is moved.

How we built it

We built the app in TypeScript on Node.js, with SQLite for trip data. The conversation layer uses Photon Spectrum for messaging and combines deterministic parsing with Gemini for less predictable messages. A planning layer checks budgets, manages plan revisions, and tracks approvals. Research can use Gemini with Google Search grounding and SerpApi hotel results when configured. We kept the language model in a supporting role: application code validates its output before it can change trip data. Offline demos use synthetic dates, prices, and sources.

Challenges we ran into

People don’t answer like forms. They use typos, slang, incomplete details, and sometimes ask for things that can’t all be true at once. We had to make N.E.M.O. flexible enough to understand messy messages while still catching impossible budgets, conflicting dates, and plans that don’t fit everyone’s needs. We combined simple rules with AI interpretation, then validate the result before it can change the plan. When something is unclear or doesn’t add up, N.E.M.O. asks a follow-up instead of guessing.

Accomplishments that we're proud of

We connected the conversation and planning modules into an end-to-end demo: friends share constraints, compare options, change a budget, and reapprove the updated plan. We’re proud that the demo shows how the assistant responds to changes instead of treating a plan as a static itinerary. We also built a read-only trip page and a separate, clearly simulated expense-tracking flow.

What we learned

We learned that a helpful AI needs to handle uncertainty and conversation. People phrase things in countless ways, so N.E.M.O. has to interpret flexible messages, but it also needs firm rules for checking budgets, protecting private details, and tracking approvals. When information is missing, or a request doesn’t add up, asking a follow-up is better than guessing.

What's next for Finding N.E.M.O

We want to bring N.E.M.O. into an existing iMessage group chat, while keeping budgets and other sensitive details in private messages. We’d also like to verify the live messaging and research integrations, improve trip research, and make the path from approved plan to shared itinerary even smoother.

Share this project:

Updates

Submission history