Backend tests
Test-driven backend suite covering judgment logic, slot state, and pack generation
Loading project...
Sole Designer, Builder & Operator
Solo (AI sub-agents for implementation and adversarial review)
9-day hackathon sprint: business validation Sep 18 → submitted Sep 26, 2026
A submission to the 5th Agentic AI Hackathon with Google Cloud. When water damage hits a home, cleanup destroys evidence before anyone photographs it properly — and insurance claims shrink or get denied for missing proof. This agent re-judges every uploaded photo against all 8 evidence slots used in claims assessment (room overview, mid-shot, close-up, water path, secondary damage, date proof, contrast boundary, scale reference), refuses to let unrelated photos fill a slot, and outputs an inspectable ZIP pack with photos, checklist, and manifest.json. Built, reviewed, and submitted in a 9-day sprint; live at water-damage-claim-pack.web.app.
In the hours after water damage, homeowners rush to clean and repair — and destroy the evidence their insurance claim depends on. Claims assessment requires multi-layered compositions: room overview, mid-shot and close-up of the damage, the water's entry path, the boundary between wet and intact areas, and a scale object for size. Most people take only close-ups, restore the scene, and lose everything else. When the assessor later flags what's missing, the scene is already gone — re-shooting is impossible. This 'evidence loss' can contribute to reduced or denied claims, and it happens because people don't know what to photograph until it's too late.
An agent that re-judges the whole slot set on every upload. The user adds photos one at a time; each time, Gemini 2.5 Flash evaluates all 8 evidence slots fresh — a photo that satisfies nothing changes nothing. Missing slots are shown as 'the next shot to take' with an arrow overlay on the photo and a one-line instruction. When AI can't detect what's in a photo, the owner can attest it themselves — but the pack records it as owner attestation, structurally separated from AI-verified evidence, never merged. Once the set is complete, the app emits an inspectable ZIP: photos, captions, checklist, an incident-report draft, and manifest.json carrying each judgment's rationale.
In the hours after water damage, homeowners rush to clean and repair — and destroy the evidence their insurance claim depends on. Claims assessment requires multi-layered compositions: room overview, mid-shot and close-up of the damage, the water's entry path, the boundary between wet and intact areas, and a scale object for size. Most people take only close-ups, restore the scene, and lose everything else. When the assessor later flags what's missing, the scene is already gone — re-shooting is impossible. This 'evidence loss' can contribute to reduced or denied claims, and it happens because people don't know what to photograph until it's too late.
An agent that re-judges the whole slot set on every upload. The user adds photos one at a time; each time, Gemini 2.5 Flash evaluates all 8 evidence slots fresh — a photo that satisfies nothing changes nothing. Missing slots are shown as 'the next shot to take' with an arrow overlay on the photo and a one-line instruction. When AI can't detect what's in a photo, the owner can attest it themselves — but the pack records it as owner attestation, structurally separated from AI-verified evidence, never merged. Once the set is complete, the app emits an inspectable ZIP: photos, captions, checklist, an incident-report draft, and manifest.json carrying each judgment's rationale.
Honesty as architecture, not disclaimer. The product never judges payout or interprets policies — it prevents evidence loss and finishes the evidence-gathering, nothing more. AI-verified and owner-attested evidence are different record types, so a reviewer can always tell which is which. The slot definitions come from claims-assessment practice, not from what's easy to detect; a slot the AI can't verify isn't dropped from the checklist, it's marked unverified and handed to the human. Same honesty in the build log: the submission repo keeps the full process — business-case adversarial review (○1/△4/×2, conditional Go), spec-to-implementation traceability, and internal session records — on record for reviewers.
Each added photo triggers a fresh evaluation of all 8 slots by Gemini 2.5 Flash with bounding-box evidence. A photo that matches no slot fills nothing — wrong-kind photos can't accidentally satisfy the checklist.
Missing slots render as concrete instructions — an arrow overlay on the existing photo plus a one-line directive ('photograph the boundary where wet meets dry'), telling the user exactly what to shoot before the scene is cleaned up.
When the AI can't detect a slot's content, the owner can check a box to attest it — but the pack labels it as owner attestation, not AI verification. The distinction survives into the generated ZIP instead of being smoothed over.
Output is a plain ZIP: photos with captions, the slot checklist, an incident-report draft, reference documents the user attached, and manifest.json carrying each judgment's rationale — so an assessor (or a skeptic) can verify how every item got there.
Validated before built. The idea survived a business-design adversarial review (○1/△4/×2 findings, conditional Go) before any code; then a three-stage spec (requirements → design → tasks) locked scope. Implementation ran through an AI-agent team — builder sub-agents wrote code, separate adversarial reviewers attacked it (P0/P1 findings fixed before merge), and a process-traceability document maps every spec item to its implementation. The demo and submission materials went through the same gate. Submitted 2026-09-26; repository holds the full trail from market sizing to session logs.
Test-driven backend suite covering judgment logic, slot state, and pack generation
Compositions drawn from claims-assessment practice; unrelated photos fill none
Target flow on the live UI: 8 photos, 3 steps, resumable mid-way
Business validation, spec, implementation, reviews, demo, submission

Entry point — warns users to photograph before cleanup, offers a baseline-record mode for undamaged homes