## Inspiration

A trip can look affordable on a screen and still fail in real life.

That problem becomes much more serious when someone is traveling internationally for a World Cup match. The cheapest flight is not useful if it lands too close to kickoff. The nearest hotel is not necessarily the best choice if the route, cancellation terms, or total package cost are unclear. A route time is not the same thing as a transfer fare, and a recommendation is not trustworthy when its source cannot be verified.

We also noticed that most travel planners forget the traveler between sessions. Fans repeatedly explain the same budget, preferred airport, hotel ceiling, accessibility needs, arrival buffer, and travel style. Even when an AI remembers the conversation, that does not necessarily mean it has a safe, structured, and correct memory system.

This led us to one core idea:

Memory should change the agent’s decisions, not simply decorate its chat history.

MatchDay existed before this hackathon as an earlier World Cup travel-planning prototype focused mainly on an Autopilot workflow. During this submission period, we rebuilt it as MatchDay v3 around both Qwen hackathon tracks:

  • Track 1: MemoryAgent, focused on persistent learning, bounded retrieval, correction, forgetting, and cross-session improvement.
  • Track 4: Autopilot Agent, focused on ambiguous intent, external tools, durable execution, human checkpoints, autonomous repair, and production readiness.

We wanted to build an agent that does not merely produce an impressive itinerary. It should remember what matters, act on that memory, show what it is doing, correct risky plans, verify its own result, and clearly admit when commercial evidence is unavailable.

## What it does

MatchDay is a Qwen-powered, memory-aware travel agent for World Cup trips.

A fan can describe a trip naturally:

Plan the 2026 World Cup Final from YVR for one traveler, July 18–20, under C$2,200. Start with the cheapest package.

MatchDay identifies the fixture, origin, dates, party size, budget, objective, interests, and safety constraints. It understands short refinements such as “cheaper,” “closer,” or “make the arrival safer” without restarting the trip. When essential information is genuinely missing, it asks one focused clarification question.

### A MemoryAgent that learns carefully

Every real guest starts with a clean, isolated profile. Demo memories appear only when the user explicitly activates the demo.

MatchDay can learn confirmed travel preferences from conversations and independently verified trip behavior, including:

  • Home airport
  • Hotel or rental budget ceilings
  • Minimum arrival buffer before kickoff
  • Seat preference
  • Maximum walking or stadium-transfer time
  • Package objective and travel style
  • Accessibility requirements
  • Activity and transportation preferences

Every memory carries its source, confidence, scope, version, update time, and expiry state. Users can inspect, correct, delete, or disable memories.

MatchDay does not turn one unusual trip into a permanent preference. Inferred behavior remains visible as learning evidence and requires two independent verified root trips before promotion. A refinement of the same trip cannot satisfy that threshold.

Retrieval is bounded by relevance, result count, and context size. Expired, deleted, superseded, conflicting, or unrelated memories are excluded. Current explicit instructions always override older memory without silently rewriting the user’s permanent profile.

The result is a memory system that can improve later decisions while remaining understandable, correctable, and resistant to stale or poisoned context.

### An Autopilot that completes the workflow

Qwen classifies each turn as a conversational answer, clarification, new trip, or refinement. It then selects from a bounded registry of typed tools.

MatchDay can ground the official fixture, search flights and stays, calculate route friction, collect match-day weather and nearby context, retrieve relevant Viator catalogs, rank complete packages, detect conflicts, apply an approved repair, and independently verify the final itinerary.

The workflow is durable rather than being one long model response. It includes:

  • Typed tool arguments and validated outputs
  • Durable checkpoints
  • Idempotent retries
  • Resume and recovery after failure
  • Duplicate-call and stalled-loop detection
  • Step, time, provider, model-turn, and cost budgets
  • Human approval for sensitive decisions
  • Owner and tenant isolation
  • Independent verification after every repair

MatchDay builds bounded combinations of outbound flights, return flights, and stays, then produces distinct options such as:

  • Cheapest
  • Safest arrival
  • Closest to the stadium
  • Balanced

The ranking considers cost, arrival safety, stadium friction, stay quality, refund evidence, memory fit, fixture confidence, provenance, and explicit risk penalties.

If a remembered seven-hour arrival buffer makes the cheapest package unsafe, MatchDay does not ignore the memory. It detects the conflict, proposes a safer alternative, applies the authorized repair, and verifies the updated result.

### Evidence before confidence

MatchDay keeps every evidence type separate.

SerpApi supplies bounded flight, stay, and place observations. Viator supplies Basic-tier tours, attractions, luggage-storage, and transfer catalogs when relevant. OpenRouteService supplies route time and distance, but never masquerades as a commercial fare. Open-Meteo provides weather context, OpenStreetMap contributes nearby-place evidence, and Unsplash provides attributed illustrative destination imagery.

Every result is labelled according to its actual evidence state, including:

  • Fixture
  • Sandbox
  • Discovery
  • Cached
  • Live
  • Available
  • Unavailable
  • Bookable

A Viator catalog price is never presented as an exact four-leg private-transfer quote. A route estimate is never added to the package total as a fare. Missing refund terms, availability, baggage acceptance, or booking authority remain visibly unverified rather than being guessed.

Before completing a trip, a separate deterministic contract performs 14 independent checks covering package arithmetic, budget, arrival buffer, fixture identity, provenance, refund coverage, provider context, requested categories, accessibility, entry constraints, and unresolved conflicts.

Qwen helps make the decision, but it cannot redefine whether its decision is correct.

## Judge-visible agent experience

We wanted judges to see that MatchDay is doing real agent work rather than watching a loading spinner.

The interface includes an expandable factual decision timeline showing:

  • Current stage and status
  • Purpose of the stage
  • Tool or deterministic check used
  • Evidence source and freshness
  • Factual outcome
  • Execution duration
  • Human checkpoints
  • Conflict and repair results
  • Independent verification evidence

It never exposes private chain-of-thought.

A separate interactive Memory → Plan → Tools → Repair → Verify map demonstrates how Track 1 and Track 4 work together.

The product also includes:

  • Persistent and editable fan memory
  • Immutable trip revisions
  • Ranked package comparisons
  • Detailed provider evidence
  • An interactive trip map
  • A keyboard-accessible stadium perspective experience
  • An arrival-focused hotel presentation
  • Responsive desktop and mobile layouts
  • Redacted, cookie-free public itinerary sharing

The stadium perspective is intentionally illustrative. It helps a fan understand spatial trade-offs without falsely claiming exact seat geometry, visibility, obstruction, or ticket inventory.

## How we built it

Qwen Cloud powers intent interpretation, turn classification, typed tool selection, memory proposals, repair selection, and the final user-facing explanation.

The backend uses FastAPI, Python, Pydantic, SQLAlchemy, and PostgreSQL. It runs on Alibaba Cloud, where the API, durable agent worker, fixture-refresh worker, and private PostgreSQL database operate behind Caddy HTTPS.

The frontend uses Next.js, React, TypeScript, and Three.js on Vercel.

The browser never talks directly to the private agent runtime. A Vercel server facade signs the HTTP method, path, query digest, request body, timestamp, and nonce before sending the request to Alibaba Cloud. The backend validates the signature, tenant identity, freshness, replay state, rate limit, and request contract.

The production flow is:

Fan → Vercel interface → signed server facade → Alibaba FastAPI → Qwen Cloud and bounded travel tools → PostgreSQL → independent verifier → verified itinerary

We use SQLite for lightweight local development and PostgreSQL for production and concurrency verification.

## What changed during this hackathon

This submission is substantially different from the earlier MatchDay prototype.

During the submission period, we added:

  • Persistent owner-scoped MemoryAgent storage
  • Autonomous preference capture and promotion
  • Bounded semantic retrieval
  • Correction, conflict, expiry, supersession, and forgetting
  • Cross-session learning and active-trip inheritance
  • Durable Qwen tool orchestration
  • Same-run clarification and continuation
  • Checkpoints, resumability, retries, budgets, and cancellation
  • Human approval gates
  • Independent itinerary verification
  • All-city fixture and package comparison
  • Multi-objective optimization
  • Viator Basic-tier catalogs
  • Route, weather, place, and destination context
  • Immutable offer-refresh revisions
  • Safe seller-link lifecycle handling
  • Passwordless guest isolation
  • PostgreSQL concurrency protection
  • Interactive agent and memory visualizations
  • Stadium and hotel-arrival experiences
  • Vercel-to-Alibaba production deployment
  • Expanded security, accessibility, cross-browser, and adversarial testing

The earlier version demonstrated an idea. MatchDay v3 turns that idea into a memory-aware, durable, evidence-gated agent system.

## Challenges

### Giving Qwen autonomy without giving it authority over truth

The most difficult architectural decision was defining what Qwen should control.

Qwen needs enough freedom to understand messy requests, choose tools, evaluate bounded alternatives, and communicate naturally. It should not control authorization, tenant isolation, package arithmetic, memory lifecycle rules, evidence provenance, safety constraints, or the final verification result.

We solved this by separating model intelligence from deterministic correctness.

### Learning without overlearning

A memory system that learns everything becomes noisy and unsafe. A system that learns almost nothing feels useless.

We separated explicit preferences from inferred behavior, required independent verified evidence before promotion, added confidence and provenance, and made every memory correctable and forgettable.

### Working with expiring commercial evidence

Flight prices, hotel offers, affiliate links, schedules, refund terms, and availability expire independently.

MatchDay therefore versions verified trips instead of silently mutating them. Refreshing a selected flight or stay creates a new verified itinerary revision and recomputes every affected package, subtotal, score, rank, constraint, and share surface.

### Failing honestly

Some providers can prove routes but not fares. Others expose catalogs but not real-time availability. Seller links may expire even when their URL still looks valid.

We chose to show an explicit evidence gap instead of filling the interface with an invented estimate.

## Accomplishments

We are especially proud of the following results:

  • Structured memory achieved 100% required-key recall in our versioned evaluation, compared with 47.37% for a bounded naive transcript and 0% without memory.
  • The memory evaluation maintained 0% cross-user leakage and passed lifecycle, correction, forgetting, isolation, and repeatability checks.
  • MatchDay covers all 104 World Cup fixtures across 16 host cities.
  • Every completed itinerary passes a separate 14-check verification contract.
  • Package optimization considers eight distinct evidence and preference dimensions.
  • The four-case PostgreSQL concurrency harness passed twice against isolated PostgreSQL 16 environments.
  • Critical journeys have been exercised in Chromium, Firefox, and WebKit.
  • The application runs through a signed Vercel-to-Alibaba Cloud production architecture.
  • Judges can directly inspect how memory changes a decision, how Qwen invokes tools, how a conflict triggers repair, and how the final result is verified.
  • The interface includes original spatial and arrival-focused experiences without misrepresenting illustrative content as provider evidence.

## What we learned

The most important lesson was that a trustworthy agent needs both probabilistic intelligence and deterministic boundaries.

The model is valuable because it can understand ambiguity, choose among tools, and communicate naturally. The surrounding system is valuable because it can enforce permissions, preserve state, calculate exact totals, limit costs, track provenance, and reject unsupported claims.

We also learned that persistent memory is not simply a database of facts. A useful memory system must decide what to store, when to retrieve it, when current instructions override it, when repeated behavior becomes meaningful, and when an old memory should disappear.

The strongest result came from making MemoryAgent and Autopilot part of the same loop. Memory changes the plan, the plan produces evidence, verified behavior updates memory, and the next trip becomes more accurate.

## What is next

We want to expand authorized live-provider coverage without weakening MatchDay’s evidence standards.

Future work includes:

  • Recoverable cross-device accounts
  • Additional commercial transfer providers
  • Broader live tours and activity availability
  • More event types beyond football
  • Collaborative group-trip planning
  • More calibrated ranking explanations
  • Additional stadium and venue experiences
  • Governed production learning from completed trips

Our long-term goal is to make MatchDay a personal event-travel agent that becomes genuinely more useful after every verified trip while remaining transparent about what it knows, what it remembers, and what it still cannot prove.

## Built with

qwen-cloud, alibaba-cloud, ecs, next.js, vercel, typescript, react, three.js, fastapi, python, pydantic, sqlalchemy, postgresql, docker, caddy, serpapi, viator, openrouteservice, open-meteo, openstreetmap, unsplash, playwright, pytest

## Try it out

Live application: Coming Soon ...

Source repository: Coming Soon ...

Video: https://youtu.be/nfgLcwsvwgI

Built With

Share this project:

Updates