Skip to content
JourneyMind AI

Engineering case study

JourneyMind AI

JourneyMind AI is a travel-disruption decision system. AI prepares context; a deterministic decision engine evaluates options against constraints and returns a justified recommendation. Built at the Amadeus + Contentstack AI Hackathon.

Background

In travel, disruption decisions carry cost and contractual weight. Pure AI answers are not enough because they cannot be audited. I wanted to show that AI orchestration can be combined with a deterministic, explainable decision core — even under hackathon time constraints.

Problem

When travel is disrupted, operators must reconcile passenger context, fare rules, and rebooking options quickly. Manual handling is slow and inconsistent; a purely generative AI approach is unaccountable and cannot be audited.

Goals

  • Use AI for context and option preparation, not the final decision
  • A deterministic, rule-based decision engine with rationale attached
  • REST API between React frontend and FastAPI backend for easy integration
  • End-to-end tests of the primary operator flow with Playwright

Architecture

Current architecture

Current implementation — based on what is built today.

Technology stack

React · TypeScript · Vite · Tailwind CSS · FastAPI · Python · REST APIs · Playwright

Engineering challenges

  • Separating probabilistic AI orchestration from deterministic decision-making
  • Making rationale a true output of the decision engine, not generated afterwards
  • Modelling constraints so they remain machine-evaluable and human-readable
  • Hackathon scope: complete architecture, but deliberately not all production concerns implemented

Trade-offs

  • A deterministic core provides auditability but less flexibility than an end-to-end model — the right trade for a regulated domain
  • REST instead of GraphQL/gRPC: a small, inspectable surface with no tooling overhead; transport is not the bottleneck here
  • Explainability requires more data plumbing, but it is the main value of the system
  • Hackathon scope: architecture and core flows are complete; auth, load testing, and live data integration are designed for but not implemented

Lessons learned

  • Determinism alone does not guarantee explainability — rationale must originate in the decision process
  • Keeping AI orchestration outside the final decision step preserves auditability
  • End-to-end tests of the operator flow reveal more than isolated unit tests
  • Explicit constraints are more valuable than implicit model flexibility in regulated contexts

Current status

Hackathon build with complete architecture and core flows — no live data integration or production hardening.

Future improvements

  • Production hardening: auth, rate limiting, observability, resilience
  • Live data integration for disruptions, fares, and rebookings
  • Configurable constraints without code changes
  • Audit log for recommendations and manual overrides

Estimated milestones

  • Q3 2026 — Auth and basic observability
  • Q4 2026 — Configurable constraints and audit log
  • Q1 2027 — Live data integration and load testing