Debt Shield
Spreadsheets replaced with a 4-carrier insurance compliance platform for Debt Shield
Insurance chargeback recovery software for life-insurance agencies
Agency owners were tracking producer debt in spreadsheets and carrier portals, each carrier with a different report format, with no signed agreements to back a claim. We built one gated pipeline: ingest reports from four carriers, get agreements e-signed, run an automated Day 0 to 70 SMS and email cadence, and end unresolved debts in a litigation-ready case file.

Integrated
Case visibility
Industry
Life Insurance (IMO & Agency Owner Model)
URL
debtshield.ai
Engagement
End-to-end SaaS Product Design & Engineering
Outcome
Carrier ingest, contracts, enforcement, and full case history in one platform
Tech Stack
React, TypeScript, Vite, Tailwind, shadcn/Radix, Supabase (Postgres, Auth, RLS, Edge Functions), Resend, Twilio, Vitest, Playwright
Carriers
Mutual of Omaha, Americo, Ethos, American Amicable
A look inside the live platform β scroll to explore β










How do insurance agencies track chargeback debt across multiple carriers?
Most agency owners cannot. Each carrier sends debt reports in a different format, so owners piece exposure together from spreadsheets and carrier portals and end up estimating. A chargeback at the bottom of the agent tree rolls up to liability at the top, and the owner often finds out late.
Debt Shield ingests reports from four carriers, Mutual of Omaha, Americo, Ethos, and American Amicable, into one dashboard. Owners get a roll-up timeline across the whole hierarchy, a riskiest-agents ranking, and a Debt Balance Index that scores each agent from 1 to 10. Exposure is read from data, not guessed.
How does automated debt collection software for insurance agencies work?
Debt Shield runs one gated pipeline: onboard the agent, get agreements signed, enforce, document. Nothing skips a gate. Enforcement cannot start until the agreement is signed and the debt clears a money floor.
Once a case starts, a cron-driven Day 0 to 70 cadence sends SMS and email at 9 set touchpoints: days 0, 5, 14, 21, 30, 45, 60, 67, and 70. It captures inbound replies, tracks delivery, honors STOP opt-outs, and logs every action to the case timeline. An owner can pause a case and resume it later with the exact remaining time preserved.
Why do insurance agents need to sign a producer agreement before debt collection?
Without a signed agreement, debt that rolls up the hierarchy is hard to enforce, and follow-up messages cannot support a legal claim. That was the core failure of the old manual process: owners chased debt they could not prove anyone owed them.
Debt Shield makes an e-signed Producer Agreement plus Personal Guarantee a hard prerequisite before any enforcement starts. Signing runs in-house, with server-derived signer roles and SHA-256 tamper evidence on the documents. Envelopes expire after 7 business days, with reminders on days 3 and 6.
How does the platform handle different carrier report formats without corrupting data?
Each carrier gets its own ETL path for CSV, Excel, and PDF files, with content-hash dedupe and soft-supersede so re-uploads never double-count a debt.
New uploads are reconciled with a three-way snapshot diff that marks each debt as matched, new, or disappeared. If a carrier changes its report format, the file is quarantined instead of loaded, so a surprise column never corrupts the ledger.
What is a litigation-ready case file for commission chargebacks?
It is the end state for a debt that is not resolved by day 70. The platform generates a tamper-evident PDF case file through a self-hosted Flask service.
The file holds the signed agreements and the full communication record. Every send, reply, and block is logged as it happens. The rule inside the system is simple: if it blocks, it logs. That is what makes the record defensible if the dispute goes legal.
Can you build a multi-tenant SaaS on Supabase without a custom backend?
Yes. Debt Shield is a React and TypeScript app that talks straight to Supabase with no backend tier: PostgreSQL 17 with Row-Level Security keyed on the agency owner, about 200 Postgres RPC functions, about 52 Deno edge functions, and 14 pg_cron jobs.
Row-Level Security keeps each agency's data walled off from every other tenant, enforced by the database itself. Enforcement state lives in PostgreSQL only. UI actions, cron jobs, and inbound webhooks all read the same state and write back to the same place, so the case history never drifts.
Why build debt collection software without AI?
On purpose. A collections product that may end in court needs answers that can be replayed and defended, so risk scoring and message classification are deterministic, not LLM-based.
The Debt Balance Index is a 1 to 10 score built from plain arithmetic. Replies are classified by keywords, not a model. And there are no in-app payments either, which keeps the platform out of money movement and its compliance load.
How reliable is automated SMS and email debt collection?
The enforcement engine runs every 10 minutes and makes 8 pre-send checks before any message goes out, with at most one SMS and one email per agent per day. Sends are idempotent, and failed sends retry up to 3 times in 24 hours.
Pause and resume keeps the exact remaining time on a case. About 152 unit and component test files, Playwright end-to-end tests, and GitHub Actions CI back the build, with cross-environment deploy safety enforced in code.
The Result
Four carriers wired. A signed agreement, an automated cadence, and a complete case history per agent. It replaced a workflow built entirely from email threads and spreadsheets.
0 carriers
Integrated
Carrier ingest connected end-to-end
0%
Case visibility
Full history appended automatically
0 source
Truth
All enforcement state in PostgreSQL
0 spreadsheets
Manual tracking
Workflow moved out of inboxes
