Inspiration

Last week, after LA Hacks, our team got in a car accident. Then came the insurance calls, the paperwork and the deadlines. We saw how hard it is to know if an offer is fair when you are tired, stressed and have no expertise.

The adjuster has valuation software. You have a few days and a loan that may be bigger than the check. Most people take the first offer, because checking it takes skills they don't have.

California has a rule for this (10 CCR ยง 2695.8). Insurers must value your car fairly, and many offers break it in small ways: a wrong mileage adjustment, a wrong deductible, comparable cars that don't match. We wanted to give owners the same checking power the adjuster has.

Our rule for the whole project: verify before you trust. Toto never asks you to trust a number, a seller or a lawyer it has not checked.

What it does

Toto is a tool for the weeks after a car accident. Its deep part is auditing the total loss offer.

  1. Upload. Claude reads the insurer's valuation report into fields. You confirm each one. You can also tell what happened by voice or text, and Claude fills in the questions with answers tied to your own words.
  2. Audit. Ten checks run on the report. Each failed check links to the exact highlighted line in the insurer's own PDF. Fair value comes from live listings on CarGurus and Cars.com, with the source and fetch time on every listing. You see the gap in dollars and your deadline. Upload your policy and the insurer's letters, and code cross-checks the deductible, appraisal clause, rental and GAP coverage, and the letter's amount and dates.
  3. Counteroffer. Claude drafts the letter. Every sentence cites evidence, and code rejects any dollar amount that isn't in the evidence. You edit and approve it, then download it as a PDF. You can also hear a simulated call to the adjuster. If they say no, Toto shows dated next steps, a Department of Insurance complaint draft, the appraisal clause and small claims. It also explains when a lawyer is worth talking to and builds a case package for them.
  4. Net payout. CRS finds the auto loan. Toto shows what you owe and what you walk away with, at the offer and at the counteroffer, side by side.
  5. Next car. Cars are ranked inside your budget, each with the reason for its rank and an above-market flag. A CRS seller check looks at identity and liens, and the deposit stays locked until it comes back clean. You set a mandate: budget, spending cap, approved sellers and an expiry. A test-card deposit then gives a receipt that shows it stayed inside the mandate. An ask bar, typed or spoken, answers questions from the case file only, and cites a source for every sentence.

How we built it

Frontend: Next.js and React, deployed on Vercel. Backend: FastAPI in Python.

  • Claude (Anthropic) reads the report, reads the policy and letters, understands the owner's account, drafts the letter, and answers questions in the ask bar. It uses structured output, so every result fits a fixed schema.
  • Code does everything that must be exact: the ten checks, fair value, the gap, the payout math, the spending cap and the escalation rules. Claude never computes a dollar.
  • Apify scrapes live listings from CarGurus and Cars.com for fair value. If one source fails, the other still values the car.
  • CRS provides the credit report (to find the auto loan) and the seller identity and lien check, using sandbox test profiles.
  • Visa test mode handles the deposit. Only Visa test card numbers are accepted, and the mandate is enforced on the server.
  • Moss retrieves guidance for the ask bar. Cartesia voices the spoken attorney briefing and the simulated adjuster calls.
  • Each claim has a secret that the backend stores only as a SHA-256 hash. Private records expire after 30 days.

Challenges we ran into

  • Stopping the AI from making things up. A letter with one wrong dollar figure is worse than no letter. We made code check every dollar amount in every sentence, and the letter can't be approved until all sentences pass.
  • Staying on the right side of the law. Listing lawyers by name could count as running an uncertified referral service in California. So Toto links to the State Bar's certified referral services and never ranks or recommends lawyers, never rates case strength, and says "not legal advice" everywhere.
  • Cost. Live listing searches cost real money. We saved real runs so the demo is fast and cheap, and we label saved data in the UI.
  • Cutting scope. We had a live reverse auction on SpacetimeDB and a rental step. They didn't fit the story, so we removed them and focused on the audit.
  • Voice. The simulated calls use an AI clone of a teammate's voice, made with consent. We label them clearly as simulated, and nobody is ever called.

Accomplishments that we're proud of

  • Every finding links back to the insurer's own report, highlighted on the page. You can see the proof next to the claim.
  • The "AI reads, code computes, you approve" rule holds across the whole product.
  • A deposit that stays locked until the seller passes the CRS lien check, and a spending cap that refuses a car over your limit.
  • A full flow from PDF upload to receipt, with an honest "real versus simulated" table in the README.
  • We checked the deadlines and the small claims limit against the rule text: 15-day reply, 40-day accept or deny, 35-day reopen and a $12,500 small claims limit.

What we learned

  • The hard part of useful AI is not the model. It is the guardrails: what the AI may do, what code must do, and what the human must approve.
  • Showing the source beats showing a score. People trust a number when they can click it and see the line it came from.
  • In legal and money settings, what you leave out matters. Not rating case strength and not naming lawyers made the product safer and clearer.
  • Saving real results makes a live demo reliable without hiding what is real.

What's next for toto

  • A California attorney reviews the letter template, the deadlines and the complaint draft.
  • Move from SQLite-style storage to Postgres with row-level security.
  • Replace the test card with a real payment authorization hold, keeping the mandate checks on the server.
  • Real credit pulls with proper FCRA consent flows.
  • More listing sources, and cited Q&A over the full case file.
  • Talk to people who had a car totaled, and expand beyond California.

Built With

Share this project:

Updates

Submission history