Loops House




SwiftAid
Aid that arrives before it spoils

Vibeathon ’26
Links
Team
1 member- VEOwner
Veer Hajari
Overview
SwiftAid is a real-time coordination and dispatch platform that connects food and aid donors, volunteer riders, and receiving shelters. It treats shelf life, rider capacity, shelter rules and human unreliability as live variables rather than fixed assumptions. It was built for the Vibe-A-Thon problem “The Last-Mile Spoilage Trap: Coordinating Perishable Surplus & Fragile Aid Under Uncertainty”. It runs on a simulated Pune network, with fictional organisations placed at real neighbourhoods.
The problem Mismatch: Supply, rider capacity and shelter space rarely line up. For example, 180 meals, 40 per scooter and 50 seats. Ghost reservations: A rider claims a delivery and then goes silent, stalling it. Changing conditions: A shelter fills up while a rider is already halfway there. Dependency rules: Infant formula needs clean water, raw rations need fuel, and cold-chain medicine needs cold storage. The solution Challenge SwiftAid’s approach Capacity mismatch A planner splits each batch across riders and shelters, within rider capacity, remaining shelter space and expiry. Ghost reservations Every claim is a lease that shrinks with remaining shelf life. Missed heartbeats release it, and a pre-assigned hot standby takes over. Mid-journey changes An event-driven re-planner diverts in-transit riders to the best feasible shelter, or flags them as stranded with the reason. Dependency rules A hard-rule layer and a safety validator that every plan must pass, whatever its source. Users and portals Donor (/donor): describe or photograph a donation, review the AI-drafted listing, and follow its journey. Rider (/rider): a phone-style app to accept or decline offers, keep the heartbeat alive, or go silent on purpose. Shelter (/shelter): a capacity gauge, open/closed intake, facility toggles and an inbound queue. Control room (/admin): a live map, batch tracking with survival odds, a dispatch timeline, a chaos panel, an Optimizer Lab and a Dispatcher Copilot. Impact, Live board and Judge mode: analytics, a projector-friendly city view, and one screen that tiles every role. How it works Deterministic engine: the planner is a pure function over a snapshot, and the simulation advances in sim-minutes so tests run faster than real time. Quantum-inspired optimisers: QIGA searches rider-to-shelter structure, QPSO tunes continuous splits and priorities, and a Hybrid combines them. They run on classical hardware, are seeded by a greedy baseline, and are never worse than it. Monte Carlo survival: each leg gets a 1,500-sample estimate of arriving before expiry. AI proposes, the engine disposes: photo/text intake and the Copilot only produce proposals. Copilot actions are simulated on a copy of the city and applied only on approval, through the same validated path as a button click. Offline-safe: every AI feature has a deterministic fallback, and the map and routing degrade gracefully without network. Tech stack
Next.js 15 (App Router), React 19, TypeScript, Tailwind v4, Framer Motion, MapLibre GL, Recharts, Zustand and Zod. Live updates come from server-sent events over an in-memory store. An optional Anthropic API key enables photo understanding and the Copilot’s language model.
Quality 100 unit and property tests (Vitest) cover the domain, feasibility, greedy planner, validator, optimisers and simulation, including a conservation invariant (every unit is delivered, spoiled, waiting or on a rider). A seeded fuzz suite asserts safety invariants after each step. A Playwright smoke suite drives the real UI across the portals.