Inspiration

Business travel is broken in four specific ways:

  1. Policy is a wall, not a guide. Travelers memorize rules instead of being guided through them.
  2. Approvals kill momentum. Bureaucratic chains slow down time-sensitive trips.
  3. Help arrives too late. Travelers figure it out alone when things go wrong on the road.
  4. Post-trip is a second job. Expense reports are confusing, late, and often rejected.

We built something that solves all four — and then added something no enterprise travel tool has ever thought to include.


What It Does

Zero Corp Travel Copilot & Concierge is a fully deployed, AI-powered travel companion with two integrated modules:

Copilot

A persona-aware chatbot that answers enterprise travel policy questions in plain language — grounded in a synthesized company handbook stored in MongoDB Atlas and powered by Claude Sonnet via the Anthropic API with real-time streaming responses.

Three distinct personas get completely different experiences:

  • Kelli Chen (VP) — concise, executive-level answers
  • Maya Patel (Junior Associate) — warm, step-by-step guidance as a first-time international traveler
  • David Okafor (SVP Approver) — clean, facts-first approval summaries

Concierge

A location-aware local discovery tool that lets travelers find real eat/drink/play venues — filtered by open now, late night hours, and proximity. Works with live GPS or a "planning ahead" destination search for any city in the world.

The Money Moment

Maya just wrapped her last client session in London. Her boyfriend has arrived. She opens the app and asks: "Ok I'm done with work — what should we do tonight in London?" The Copilot hands off seamlessly to the Concierge. Enterprise assistant becomes local discovery tool. One app. Two modes. Completely seamless.


How We Built It

The Stack

  • Frontend: HTML/CSS/JS served via GitHub Pages
  • Backend: Python Flask on Render (free tier + UptimeRobot health monitor to prevent cold starts)
  • Database: MongoDB Atlas — wdywd.places (370+ real venues) and wdywd.docs (7 handbook sections)
  • AI: Anthropic Claude Sonnet with real-time streaming via Server-Sent Events
  • Venue Data: Google Places API (New) — ingested once per city, never called again
  • Hosting pivot: Originally planned to deploy on DigitalOcean using hackathon sponsor credits, but were unable to access them in time — pivoted to Render in under an hour

The Handbook

We synthesized a realistic enterprise travel policy handbook grounded in real regulatory sources:

  • GSA Federal Travel Regulations (FTR)
  • IRS Publication 463 (Travel, Gift & Car Expenses)
  • GBTA policy templates
  • Fortune 500 published travel policies
  • IATA international travel guidelines

This isn't fiction — it's a policy document that real enterprise travel managers would recognize immediately. We used Claude API to help synthesize these sources into a coherent, realistic company handbook, then ingested all 7 sections into MongoDB Atlas as queryable documents.

The Architecture

One ingest per city. One handbook. Unlimited queries. Google Places API was hit once per city during ingestion — after that, every user query hits our own MongoDB Atlas database. 1,000 users costs the same as 1 user in ongoing API fees.


Challenges We Ran Into

Hours parsing was brutal. Google returns hours as human-readable strings like "Monday: 7:00 AM – 10:00 PM" and "Thursday: 5:00 – 9:00 PM" (no AM/PM on the open time). We built a full parser handling AM/PM inference, overnight hours, "Open 24 hours", "Closed" days, and UTC timezone offset correction. Eight versions of the backend later, it works perfectly.

Streaming responses required rearchitecting the Flask endpoint to use Server-Sent Events and updating the frontend to consume a ReadableStream — worth every minute for how alive it makes the app feel.

Persona tone differentiation — getting Claude to genuinely sound warm and hand-holding for Maya vs. terse and facts-first for David required careful system prompt engineering, not just switching a variable.

DigitalOcean credits weren't accessible during the hackathon, so we pivoted to Render free tier and added a UptimeRobot health monitor to keep the service warm. Zero downtime on demo day.


Accomplishments We're Proud Of

  • 370+ real venue records across Lawrence KS, Manhattan, London, and Singapore — all pulled from Google Places and stored in Atlas
  • Real-time streaming that makes the AI feel alive, not like it's loading
  • The Concierge handoff — that moment where the enterprise app becomes a personal discovery tool
  • A policy handbook grounded in GSA FTR and IRS Publication 463 — something a real enterprise could actually deploy
  • 8 backend versions and 4 frontend versions iterated in a single hackathon session, with full version history documented in the README

What We Learned

  • MongoDB Atlas is the perfect backbone for a multi-module app — one cluster, two collections, completely different use cases, zero friction
  • Streaming APIs change everything about how an AI product feels
  • Context stuffing is underrated for MVP — the full handbook is ~5,000 tokens, well within Claude's context window
  • User persona design IS product design — the difference between how Kelli and Maya experience the same app is entirely in the system prompt

What's next for Zero Corp Travel Copilot & Concierge

  • RAG upgrade: Swap context stuffing for vector embeddings — the /chat endpoint is already designed for this swap
  • Scheduled ingest: Cron job to refresh city venue data daily
  • Any city, any company: The locale tag system means adding a new city is one ingest script. White-label ready.
  • Voice integration: Maya asking "what should we do tonight?" and hearing the Concierge respond

Enterprise travel, finally human.

https://canva.link/hq7a8hwkjbb60py

Built With

Share this project:

Updates