Back to the project hall

Backtrack

Refunds Rerouted.

made in a weekend!
Screenshot of Backtrack

the spark

Framing the Problem

Presentation link - https://canva.link/6tn2b8s9mtec1kv

Picture a commuter on the Central line at 8:15 on a Tuesday. The train stops in a tunnel, the driver mentions a signal failure, and a 17-minute journey becomes 41. They’re late for work, annoyed, and then they forget about it. What they don’t realise is that TfL owes them their fare back.

TfL refunds the single fare for delays of 15 minutes or more on the Tube and DLR, and 30 minutes or more on the Overground and Elizabeth line, when the cause is within TfL’s control. To get it, the passenger has to notice they qualify, sign in to their TfL account, find the right journey, check whether the delay counts, and submit a claim within 28 days. Incomplete journeys, where you’re charged a maximum fare for a missed tap, need a separate claim within 8 weeks. National Rail runs a different scheme again.

Almost nobody does this. Of more than 11 million Tube passengers delayed by 15 minutes or more in 2011, only 412,713 claimed. A 2020 Transport Focus survey found just 22% of eligible rail passengers claim for 15-minute delays, and 51% of those who didn’t said the amount wasn’t worth the effort. London commuters are estimated to leave around £56m unclaimed every year.

We see this as a systems problem, not a personal failing. The money is already owed and the rules already exist. What’s missing is anything that connects a delay to a refund without the passenger doing the admin. Meanwhile banks hold the passenger’s card and their savings, yet sit completely outside the process.

  • Amara, 20, a student in zone 2. She taps an 18+ Student Oyster to keep her discount and checks her balance constantly, because in London every pound counts. A missed £2.80 refund is a missed lunch, but she never has time to chase it.

  • Dan, 34, an office worker in zone 4. He commutes by National Rail and Tube every day. His delays are frequent and bigger, but claiming means two different schemes, two websites and remembering deadlines he never remembers.

That affects everyone who commutes in London, and especially the people for whom a few pounds a week matters: students, shift workers and anyone on a tight budget.

Idea Explanation

Backtrack is a refund-to-savings product built on Engine by Starling. It connects live TfL network data to a bank’s core, so the refunds you’re owed find you, and then turn into savings. Our tagline is Refunds rerouted.

The Engine challenge asked us to connect a mock Engine Core to an unexpected non-banking API and create a new financial product. Our equation is:

TfL Unified API + Engine Cards and Spaces = Backtrack

“Every time TfL makes you late, your refund is claimed and saved to a pot.”

How it works for the user:

  1. Connect once. Inside their bank app, the user switches on Backtrack, picks the card they tap with, links their TfL account and chooses a pot: a Savings Space, Treat Yourself, or a charity.

  2. Delay detected. Backtrack watches live TfL line status and the user’s journeys. When a journey runs late, it compares the actual time with the planned journey time and checks the official cause of the disruption.

  3. Human in the loop. Backtrack never guesses. Before anything is sent, the user confirms the line, the times and the delay with one tap. Claims that won’t qualify, such as strikes, bad weather or engineering works, are flagged with a clear explanation instead of a failed claim.

  4. Claim filed. Backtrack waits 48 hours, because TfL sometimes refunds automatically, then files the claim.

  5. Refund rerouted. TfL refunds the card. Engine sees the refund arrive, and Backtrack moves exactly that amount into the user’s chosen Space.

Built for everyone, including neurodivergent users:

  • No forms, ever. Everything is pre-filled; the user only confirms or dismisses.

  • One decision per screen, with big buttons and plain English: “You’re owed £2.80. Send the claim?”

  • Predictable notifications. Users choose instant, a daily digest, or none, with the same wording and layout every time.

  • A deadline safety net. Backtrack tracks the 28-day window and nudges once at a time the user chooses, never with countdowns or red warnings.

  • Shame-free language. “You’ve got £14 back this month”, never “You missed 3 claims”.

  • Low-sensory mode, screen-reader support, dyslexia-friendly fonts, and “Why didn’t this qualify?” on demand.

  • A monthly recap: “Delays cost you 47 minutes. We got you £8.40 back.”

The pot is a real Engine Space inside the customer’s own bank, protected by the bank. Backtrack never holds funds; it only tells Engine to move the customer’s own money between their own accounts.

under the hood

Implementation

Backtrack has three parts: TfL as the trigger, the Backtrack service holding the rules, and the bank on Engine holding the money.

Frontend: a [Next.js (React)] mobile-first web app styled as transit signage: black backgrounds, bold type, line-coloured bullets and a route tracker that follows each refund from “Delayed” to “Saved”. It has five screens: sign-up, home, refund detail, pot and live network status. The frontend calls our backend’s REST API ( /, /home, /journeys, /pots, /network).

Backend: a Java (Spring framework) service with five modules:

  • Disruption watcher polls GET /Line/Mode/{modes}/Status on the TfL Unified API every 60 seconds and stores disruption windows with their causes.

  • Journey ingest turns tap-in and tap-out pairs into journeys for each linked card.

  • Eligibility rules compute the delay (actual time minus the planned time from /Journey/JourneyResults), check the 15 or 30 minute threshold and the cause, and apply the 48-hour wait.

  • Claim service moves each claim through pending → filed → approved → paid, and only after the user confirms.

  • Refund match + sweep listens for Engine card transaction events, matches the refund to its claim by card, amount and merchant, and calls the Engine Spaces API to move it into the pot. The claim ID is the idempotency key, so a refund can never be swept twice.

  • Oyster support refunds for Oyster users are requested as a bank transfer rather than Oyster credit, so they arrive in the bank where Engine can see and sweep them, just like contactless refunds.

Database: PostgreSQL - stores users, journeys, disruption windows, claims and sweeps, and links each claim to its journey and its sweep.

Real and mocked: live TfL line status and journey times are real. TfL has no public API for a passenger’s journey history or for filing claims, so we built a mock service with the same shape, seeded with demo journeys (an eligible Central line delay, a paid Elizabeth line refund, an incomplete journey, and a strike that correctly fails). Engine Core is the hackathon’s mock, and a demo trigger fires the refund event so the sweep happens live.

Production design: AWS Lambda on an EventBridge schedule, an SQS queue for claims with retries and a dead-letter queue, PostgreSQL on RDS with point-in-time recovery, and Redis for cached line status. Engine card webhooks are verified with HMAC signatures, every money movement is audit-logged, and every night we reconcile against Engine’s transaction feed.

Business Strategy

Business model

Backtrack is a product for banks that run on Engine by Starling. A bank switches it on for its customers, and those customers get their delay refunds claimed and saved automatically. We earn in two ways: the bank pays a licence, and we take a small cut of each refund we recover. Customers pay nothing unless a refund is paid.

Commission on claims. We take a tiered cut of every successful claim: 5% on claims under £10, 10% from £10 to £50, 15% from £50 to £250, and 20% above that. On a £2.80 Tube refund that is 14p, and the customer keeps £2.66.

Income streams

Bank licence. Each bank on Engine that switches Backtrack on pays 30p per active customer a month. An active customer is one who had at least one journey checked that month, so the bank only pays for people who use it. Banks pay because every refund lands in an Engine Space, which brings in deposits and gives customers a reason to open the app.

Commission on bigger claims. As Backtrack extends beyond TfL, we take a tiered commission: nothing on claims under £10, 10% from £10 to £50, 15% from £50 to £250, and 20% above that. The customer always keeps at least 80%, and we only charge when a refund is paid.

Merchant-funded offers. Shops at stations and airports can fund cashback for delayed travellers through Engine’s merchant spend capability, and we take a small share of each sale.

Costs and a worked example

Our two running costs are a platform share paid to Engine by Starling, which we estimate at 20% of licence income, and about £5,000 a month to run, test and maintain the service. Setting up each new bank is a one-off cost of £10,000 to £20,000, which we would cover with a set-up fee.

For one bank with 100,000 active customers, the licence brings in £30,000 a month. Engine’s share is £6,000 and running costs are £5,000, so £11,000 goes out and £19,000 is kept, a margin of about 63%. That counts the licence alone, with commission and merchant income on top.

Growth plan

Backtrack grows in three stages, each using the same rules engine with a new operator’s rules added.

  1. Now: TfL. Low fee refunds for commuters, paid for by the bank licence. This stage wins customers and proves the product.

  2. Next: National rail lines and beyond. Delay Repay claims on bigger tickets, where the tiered commission begins.

  3. Later: flights and other countries. Compensation is worth far more per passenger, and every new bank on Engine by Starling brings a new market with its own transport operators.

All figures in this section are our estimates.

what got in the way

Challenges

  • No journey API: TfL publishes network data openly but not passenger data. We built a mock TfL account with the same request shape, so swapping in a real partnership API later is a configuration change, not a rewrite.

  • The journey data gap: taps tell you stations, not the line or route. Rather than infer it and risk a wrong claim in someone’s name, we put a human in the loop: the user confirms line, times and delay before anything is filed.

  • Claims that won’t qualify: strikes, weather, engineering works and customer incidents aren’t refundable. We read the disruption reason first and explain the outcome, so users trust the “no” as much as the “yes”.

  • Double refunds: TfL sometimes refunds automatically. We wait 48 hours and check before claiming, and made every sweep safe to run twice so money only moves once.

  • Working across banks: pots don’t exist in every bank, and we can’t create one inside someone else’s. We designed for Engine Spaces first, with a virtual pot and Open Banking sweeping as the route for other banks.

  • Trust and privacy: journey history reveals where people live and work. We collect the minimum data, require explicit consent and never hold funds.

  • Scope: National Rail, railcards, passenger assistance and travel perks all came up. We deliberately cut to one loop working end to end and kept the rest for the roadmap.

  • Users without a TfL account: refunds can only be claimed through a TfL Contactless and Oyster online account, which many people have never set up. Onboarding walks the user through creating one and linking their card, and explains why it’s needed.

  • Designing for accessibility under time pressure: it was tempting to add urgency (countdowns, red alerts) to drive claims. We chose calm, predictable patterns instead, because the users who lose most to admin friction are often the ones those patterns exclude.

high fives

Accomplishments

  • [A working end-to-end loop]: live TfL data in, an eligible delay found and explained, a confirmed claim, a refund event from mock Engine, and a sweep into a Space on screen.

  • A real answer to the brief: Backtrack uses two Engine capabilities together, card transaction events and Spaces, and pairs them with a genuinely unexpected non-banking API to create a product no bank offers today.

  • Rules that hold up: the eligibility engine follows TfL’s actual thresholds, exclusions and deadlines, so it says “not eligible” as clearly as it says “you’re owed £2.80”.

  • Safe money movement: idempotent sweeps, a human-in-the-loop confirmation step and a design where Backtrack never touches funds directly.

  • A complete brand and design system: Backtrack’s transit-signage identity runs across the app, the poster and the pitch, from one shared set of colours, type and components.

  • What we learned: how a banking-as-a-platform core separates “knowing” (events) from “doing” (moving money), how much of fintech is consent and reconciliation rather than features, and how to scope hard under time pressure.

since then

Next Steps

Backtrack’s prototype proves the loop. To reach real customers it grows in three directions:

  1. Real data access. Partner with TfL for delegated access to journey history and claims, removing the mock and adding Oyster refunds. Then extend to National Rail Delay Repay across train operators, with railcards on the user’s profile.

  2. Production infrastructure. Move to the AWS design above, with signed Engine webhooks, a full audit trail and nightly reconciliation. For banks without Spaces, add a virtual pot and Open Banking sweeping to the user’s own savings account. Users who trust the system could later opt in to fewer confirmation steps.

  3. Making the pot worth more. Let refunds be spent on travel perks such as station lounges and first-class upgrades, add charity round-ups, and bring passenger assistance booking into the same app.

  4. Smarter commuting. An instant advance that credits the expected refund straight away and reconciles when TfL pays, offered by the bank with clear limits. “While you wait” offers from nearby cafés during major disruption, ranked by distance rather than paid placement. Warnings about planned closures before you travel, so you avoid delays you can’t claim for. An auto-generated “I was delayed” note for employers. Personal reliability stats for your route. Voice control for hands-free use.

Backtrack doesn’t just tell you your train was late. It finds the money you’re owed, checks it with you, claims it and moves it into the pot you chose. We turned a TfL status feed into a savings product. Refunds rerouted.

same weekend, different ideas

More from October 2026

See all projects from this weekend