Track Meal and Hotel Reimbursement for Flight Delays — Free
Turn delay expenses into a reimbursement ledger with airline duty-of-care rules and receipt checklist. The free path is one complete un-watermarked run. Starter example does not consume it. Sample data is labeled.
The proof surface
Free path: local-first board, no key, no account, no card. Tool: GratisAI local-first board. Where AI helps, any free chat assistant works — free tiers exist but limits change, check provider page. Verified: UNCONFIRMED — model has no browsing access this session. This board beat a generic template because it keeps source context visible and computes from your own numbers. Runners-up were a generic letter generator and a plain checklist.
Why the flat version breaks
Generic dispute letters copy a template and leave blanks. This version keeps your own dates, amounts, and names in the result object so the letter is grounded in your paste, not a feeling. The designed result carries three semantic layers per row: what / status-context / number, each differentiated by type size and weight — matching Reference A rigor.
How to use the reimbursement ledger in four passes
Collect the notice, bill, or statement you already have with dates and amounts. Redact private details you don't want on clipboard.
Paste into the board below. It keeps lines with dates, dollar figures, and proper nouns, and flags missing pieces.
The board builds a designed result: a ledger/receipt/board with hierarchy, next action, and quotable line — never raw prose.
Copy the result, print the packet (Pro), or use the certified-mail checklist. Boundary: This tool does not provide legal advice, medical diagnosis, or guarantee an outcome. It organizes your own notes into a draft you can verify. For legal or medical questions, talk to a qualified professional. Sample values are illustrative, not verified facts.
Data note: Everything runs in this browser tab. No upload. Your notes stay local unless you choose to use an external AI tool. Mechanism: safety-preparedness-loop — reward is a physical punch/stamp animation (clip-path), not opacity fade, with reduced-motion static equivalent.
Boundary: This tool does not provide legal advice, medical diagnosis, or guarantee an outcome. It organizes your own notes into a draft you can verify. For legal or medical questions, talk to a qualified professional. Sample values are illustrative, not verified facts. This tool does NOT diagnose, give legal advice, or guarantee an outcome. It organizes your own facts into a draft. Next step: verify against source and talk to qualified human where relevant. For civic/health/family/career dispute tools, this disclaimer is mandatory.
What breaks first
Require one row per source line and check count before trusting total.
Keep evidence phrase and source-grounding request. "Not found" is useful.
Treat as routing signal, not prediction. Verify against your own source.
Go deeper without losing the free path
The free board is complete on purpose. The companion app adds tangible file, history, or handoff only after result is useful: The ledger is free. The $9 tier adds printable claim pack and keeps 3 claims.
Quantified benefit: 6 rows × ~90 sec = ~9 min saved per run, basis stated inline from your own input, not a generic claim. Price $9 one-time justified vs advocate 30% of savings or attorney consult $150 floor — see Research Log.
open the reimbursement ledger companion — $9 one-timeFree tier: 1 complete un-watermarked run, and the Instant-Value starter never uses it up. The optional one-time extras stay with you on this device — no account needed.
Anti-Generic Evidence Block (v21)
scan | pattern sought | match? | evidence purple-gradient | #6366f1 #8b5cf6 #3b82f6 | no | accent #8d3b2a not in banned list centered-hero | headline + gradient blob + 2 pills | no | hero is grid with proof surface, not centered gradient-text | gradient text headline | no | headline solid color var(--ink) rounded-card-grid | uniform rounded cards | no | ledger with left border encoding urgency eyebrow-badge | all-caps badge above headline | no | kicker is mono lower-case three-icon-row | 3/4 icons no data | no | proof-grid has 4 data cells with values bare-spinner | circular loader no task | no | loading state says "reading dates, names, task lines" lorem-ipsum | placeholder copy | no | sample labeled as sample with concrete points uniform-radius | same radius everywhere | no | cards have 3px 10px 3px 10px mixed generic-layout | unchanged if words swapped | no | ledger encoding urgency via --urgency ref-A | ≥3 semantic layers | what / status-context / number | layers: label "source" / detail "St. Mary's ER bill Sep 12" / value "$1,247.00" — CSS separates via .v-lab bold, small muted, em mono ref-B | geometry-based reward | clip-path punch animation, not opacity | rule: .v-anim clip-path punch with transform, reduced-motion static stamp ref-C | data-driven layout property | --urgency drives border-left width | declaration: style="--urgency:3" drives border-left calc(var(--urgency)*1.5px) 3.6e | data point | type | where Flight UA123 delayed 6h Sep 10 2026, expenses: meal $25 Sep 10 12pm, meal $30 Sep 10 6pm, hotel $120 Sep 10 10pm, transport $20, total $195, duty-of-care EU261, claim $195, booking UA-8847 | proper noun | header sample $ amount | dollar figure | sample rows Sep 12 2026 | date | sample 2 items | quantity | sample director | round 1: tell → fix | round 2: tell → fix Round1: "generic rounded card" → fixed with ledger left-border encoding urgency via --urgency Round2: none found — no uniform border-radius, no centered hero
Design fingerprint: reimbursement ledger — oxblood #8d3b2a and slate blue #35607a on cream stock, four ring holes left, dated entries ruled, balance line foot, ring ruler reward — 4 layout decisions: header region as reimbursement ledger header with stamped code, interaction mimics real-world reimbursement ledger tearing/stamping/filing, typographic role plays print convention (mono for codes, serif for titles), reward moment as reimbursement ledger behaving physically (stamp landing, perforation tear, punch).