Inspiration

Ask Momo came from a horrible flight experience I had myself. I was travelling from London to Peru via Colombia when my flight made an emergency landing in a remote part of the Amazon. I was still around twelve hours from my destination city. We spent hours stuck on the plane, then more hours in the airport, with very little food, unclear information, and what felt like random excuses from the airline. Eventually, the compensation offered was a very small voucher that did not reflect what passengers had been through. On top of that the airline (who's identity I will hide), gave different excuses to everyone on the flight and different compensation amounts too. The worst part was not knowing what to do next. Was the airline’s explanation enough? What care should have been provided? Was the voucher reasonable? How could I reply without sounding emotional, making unsupported claims, or being ignored? That is why I built Ask Momo: a calm, friendly flight-disruption advocate that helps travellers understand an airline’s response and write a better next message.

What it does

Ask Momo helps a traveller turn an airline’s vague disruption response into a source-backed, editable next message. A traveller can: Start without an account, but create an account later to save their claim story, documents, replies, and outcome, across multiple devices. Describe what happened in their own words or complete the form directly, which openAI's API can feed into gpt 5.6 to get information/understanding. Paste an airline reply or use a fictional sample case (for judges, or users to see an example before submitting themselves) Review what facts are confirmed and what details are still missing. See a cautious UK/EU disruption assessment with official source cards. Use the Rejection Dissector to identify the airline’s stated claim, exact quoted wording, missing explanation, and a neutral next question. Open and edit a draft message before sending it themselves. Momo does not promise compensation, provide legal advice, or send claims for a traveller. This is the most important thing, it's not a lawyer, it's consumer support.

How we built it

Ask Momo is a Next.js and TypeScript web application with Supabase for authentication and private saved-claim persistence and is hosted on vercel. The key design decision was to keep AI helpful but bounded: Traveller facts + airline reply + optional evidence ↓ Deterministic decision receipt and official rule cards ↓ Bounded GPT-5.6 structured analysis ↓ Schema and rule validation ↓ Editable traveller-controlled draft The deterministic TypeScript rules engine remains the authority for: UK/EU scope Fact gates and uncertainty Compensation bands Official sources Out-of-scope and “do not pursue yet” states GPT-5.6 is used only for constrained tasks: organising clearly stated facts, identifying airline claims, highlighting missing explanations, and suggesting neutral wording. Its output is validated before it reaches the user. Unsupported facts, quotes, amounts, citations, threats, guarantees, and legal conclusions are rejected. I used Codex throughout the build to accelerate the product architecture, rules-engine safeguards, UI, mobile and accessibility work, security checks, automated tests, and the airline-reply experience. I also spun up sub-agents of various types to test the application from different perspectives, users, technical, design, etc.

Challenges we ran into

The biggest challenge was avoiding the obvious failure mode: an AI tool sounding confident while inventing a legal answer. Flight compensation depends on facts that are often missing or disputed: the operating airline, route, final arrival delay, notice period, booking structure, and the real reason for disruption. It would be unsafe to let a model decide eligibility or tell users that compensation is definitely owed. I addressed this by making the rules engine deterministic and conservative. Momo can say when it does not know enough, and it can recognise that a weather explanation may be valid rather than encouraging every traveller to fight. Other challenges included: Supporting messy connected journeys while distinguishing a single booking from separate tickets. Keeping currencies explicit rather than making unsafe exchange-rate comparisons. Designing a no-account starting flow while allowing users to save a claim later. Making the interface friendly enough for a stressed traveller, but polished enough to feel trustworthy. Protecting AI-assisted routes and evidence uploads from abuse through input validation, size limits, privacy-preserving rate limits, authentication checks, and strict model-output validation. But genuinely, using gpt5.6 was super easy, especially with the ability to spin up subagents. I felt like I had the speed of Cursor which I have used previously, but it was even better. I like the little icon/robot that sits there too and keeps you updated.

Accomplishments that we're proud of

Turning a personal nightmare journey into a useful, calm product for other travellers. Whether I win the competition or not, I have created something I will definitely use and give to my friends to use too. That is more than anything I could ask for. Building Momo so it does not simply sound confident: a deterministic rules engine controls scope, fact gates, compensation bands, uncertainty, and official sources. Creating the Rejection Dissector, which turns a vague airline refusal into exact quoted claims, missing details to check, and a measured next question. Using GPT‑5.6 in a bounded way: it can organise facts and draft wording, but it cannot invent eligibility, compensation, legal conclusions, or threats. Designing a no-account journey that remains useful immediately, while allowing travellers to create an account later to save their claim story. Making Momo friendly and accessible, with a simple guided workflow, mobile-aware layouts, editable drafts, keyboard support, and clear privacy guidance. Building in security and privacy safeguards, including input validation, evidence checks, route protections, size limits, rate limits, and private claim persistence. Creating a strong automated test suite covering rule boundaries, hostile AI output, prompt injection, currency handling, messy connections, story extraction, and evidence safety.

What we learned

I learned that trust is a product feature, not just a legal disclaimer. The best answer is not always “you should claim.” Sometimes the useful answer is: “this needs more evidence,” “this may be outside Momo’s current scope,” or “the airline’s explanation may be valid if it can support it.” I also learned that a friendly interface can make a complicated process feel manageable. Momo is intentionally calm, clear, and editable. It helps the traveller take one small step at a time while keeping them in control. I learnt how to create an easily marketable persona and attach it to a genuine issue. The name Momo came from the fact I like Momo's and that shorter company names are more easily fundable.

What's next for Ask Momo

The hackathon version focuses its judged claim flow on UK/EU disruption guidance, while showing cautious international information where verified sources are available. Next, I would like to expand Momo carefully with more reviewed country guidance, stronger public-scale upload protection, durable production monitoring, a full Privacy Notice, and partnerships that could connect travellers with appropriate local support when Momo cannot help further. My goal is simple: no traveller should have to navigate a nightmare journey and then face an airline’s vague response alone. I want to turn this into a genuine company, with this product as it's backbone. Momo is meant to be a memorable, marketable character and I'm sure I can get deals with insurance companies, employer benefits providers and monetize via law/legal partners too.

Built With

Share this project:

Updates