What Sparked the Idea 🔍 After years of watching homeowners, public adjusters, and contractors juggle spreadsheets, Xactimate files, and endless email chains, I realized the entire claims-to-rebuild pipeline was crying out for true‐to‐life AI assistance. The “aha!” moment came when a public adjuster friend showed me a dining-room table stacked two feet high with inspection photos and receipts. I thought:

“Why can’t one platform streamline everything—from the first photo snap to the final shingle?”

That frustration—and a healthy obsession with agentic AI—sparked ClaimsMate360.

How We Built It 🏗️ Layer Tech Purpose Frontend React 19, TypeScript, Vite, Tailwind CSS Lightning-fast PWA with offline support and a slick UI (hello, dark mode 🌚). Backend Google Cloud Run (containerized micro-services) + Firebase Handles authentication, Firestore data, and orchestrates agent calls. AI Agents Gemini 2.5 Flash + Vision API + Vertex AI Embeddings SnapMatch, ProjectFlow, CostScope—three domain-specific “mini brains” talking through an internal Agent API gateway. Integrations Xactimate CSV import, Home Depot SERP-API for real-time pricing, Stripe for future SaaS billing Keeps cost data fresh, invoices simple, and revenue ready.

Key architectural moves:

Pizza-Style Progress Bar 🥧 in ProjectFlow (everyone instantly “gets” the job status).

English ↔ Spanish auto-translation at the agent layer—vital for bilingual crews.

Role-based dashboards so homeowners, PAs, contractors, and laborers each see just what they need.

What We Learned 📚 Edge-to-Core AI Orchestration Container-first Cloud Run lets us swap or scale agents independently—no more monolith headaches.

Human Trust > Model Accuracy A 🔥 model is useless if users don’t trust the outputs. We added inline “Explain” tooltips that surface source images, costs, and reasoning.

PWA ≠ Mobile App Lite With proper caching and background sync, a PWA feels native—even in low-signal disaster zones where claims work actually happens.

Less Is More (Code) A declarative Agent API spec means one schema file drives both the TypeScript client SDK and the Cloud Run proxy—bye-bye, boilerplate.

Challenges Along the Way ⚔️ Startup Probe Failures My first container forgot to expose $PORT—Cloud Run kept killing it. Fix: health-check scripts + graceful shutdown hooks.

Image Payload Bloat SnapMatch’s raw inspection photos were 8–12 MB. We implemented on-device compression and Cloud Storage signed URLs to cut median upload time by 70 %.

Xactimate Import Woes Proprietary CSV quirks broke our parser. I ended up writing a custom TypeScript transformer that normalizes weird header names on the fly.

Scope Creep vs. Hackathon Deadline Every stakeholder wanted “just one more feature.” The cure: a ruthless MVP checklist and the motto “Ship first, polish second.”

Outcome & Next Steps 🌟 Beta live at https://claimsmate360.abacusai.app with the three core agents fully functional.

First pilot clients onboard (public adjusters + roofing contractors).

Lining up Stripe-metered billing and a Firehose ingestion service for weather and permit data.

ClaimsMate360 is already turning a mountain of claim chaos into one intuitive workflow. And we’re just warming up. 🔥 BETA TESTING LIVE SIGNUP NOW

Built With

Share this project:

Updates