Flight Desk India · 2024
A Case Management System With No Logins and No Shortcuts
We built a case-management platform for a state consumer protection agency’s arbitration program. Consumers, dealers, and arbitrators all work the same case. Nobody outside agency staff has a password.
- Travel & Tourism
- Web Platform
- 7 min read
20%
Industry: Government, financial regulation
4
Users: Filers, organization admins, state examiners
2
Languages: English and Spanish
0
Filing steps digitized: 10
<800ms
Reporting cycles automated: 2 per year, per organization
The Build at a Glance
Quick Facts
A Binding Decision Built on Email and Spreadsheets
The claim runs through several parties. A consumer files. The agency reviews it. The dealer or manufacturer responds. Some cases escalate to a hearing. Every case ends in a binding decision.
Running that over email and shared spreadsheets does not hold up. There was no reliable trail of who did what and when. Dealer follow-ups had no enforced order, even where the law requires one. Consumers and dealers had no way to check a case status without calling the agency directly.
What Makes This Harder Than a Normal Case System
- No accounts, two different trust levels: Consumers needed access for months. Dealers needed access scoped to one claim, for weeks. Neither could use a username and password.
- An audit trail that has to hold up as evidence: Every status change, review, and outreach action needed a provable record, because the outcome backs a government decision.
- A legal sequence with no shortcuts: A dealer could not receive a final notice before two follow-up steps. The system had to make the wrong order structurally impossible. Discouraging it was not enough.
- Two staff tools, one source of truth: Day-to-day case work needed a fast, form-driven app. Administration needed a rich, role-governed console with reporting. Both had to run against the same database without drifting apart.
- Bilingual forms for first-time filers: The consumer wizard had to work in English and Spanish, for people who had never filed a legal claim, with real-time validation to catch mistakes early.
Three Front Doors, One System
- A no-account consumer wizard: A six-step guided application for new, used, and leased vehicle claims, each with its own document checklist. Progress saves after every step, so a consumer can leave and come back.
- Real-time validation as people type: VIN lookup decodes the vehicle and checks for a duplicate claim before letting someone continue. Address autocomplete catches typos before submission.
- Email verification and a typed signature: A one-time code and a typed name stand in for a login and a wet signature. Only after both does the system issue a case number and an access token.
- A dealer response app reachable from one email link: Dealers and manufacturers open a case, review it, and submit a formal response, with no account and no separate login.
- Enforced follow-up sequencing: Follow-up one, then follow-up two, then a final notice. The system only ever offers the next valid step. A daily check flags anything overdue.
- A full case-management console for arbitrators: Status changes, hearing scheduling, decisions, notes, and dealer outreach, all from one case view, with an aging flag on cases drifting toward a deadline.
- A separate admin workbench for agency staff: Role-based access, a dealer and manufacturer directory, and a report builder staff can configure themselves, without asking a developer for a new export.
- Document generation on demand: Paper-style application records, templated hearing notices, and one merged bundle of every document on a case, instead of opening files one at a time.
- Legacy data brought in, not left behind: Claims that used to live in spreadsheets, with documents scattered across shared drives, now sit under one structured case number each.
The System Underneath
- One shared database serves two paths on purpose. Staff administration reads and writes it directly. Every public-facing action goes through the API instead, each with its own token check.
- A single validator decides which case-status changes are legal. The rule lives in one place, not copied into every screen that touches status.
- Every status change, review, and outreach action writes an entry to an audit log that is never edited or deleted.
- Soft deletes everywhere else. Records get hidden, never destroyed, since this is a legal record.
- A background job flags overdue dealer outreach every day. Another quietly clears abandoned draft applications a week after they go stale.
Security for People Who Never Sign In
- Consumer and dealer tokens generate once, hash before storage, and show the real value only one time, inside an email link.
- Consumer tokens last two years. Dealer tokens last thirty days and apply to one outreach record only.
- Arbitrators sign in with a one-time email code. Agency staff sign in through the organization’s own identity provider.
- Four distinct staff roles split access by function: full administration, agency-wide oversight, day-to-day casework, and read-only review.
- Rate limits sit on every code-verification endpoint, so repeated guesses get cut off automatically.
- Every uploaded document gets checked for size and file type, with a virus scan tracked per file.
The Decisions That Made This Work
- Accounts for people who cannot have accounts: One token model covers three different parties, hashed at rest, each scoped and expiring on its own schedule. A stolen database still cannot be turned into working access to a case.
- A legal sequence that cannot go out of order: The system computes the next valid step from a case’s own history and offers only that. Staff never see a free choice that could be picked wrong.
- Two staff tools, one shared truth: Admin work reads and writes the database directly. Case work goes through the shared API instead. The split is documented, not accidental, so it will not get reverse-engineered later.
- A refreshed page that had to remember who you are: An early version tracked identity through the page’s query string. It felt wrong on refresh, so it was replaced with real, separate pages that read identity from the URL or session instead.
- Letting staff build a report nobody thought to pre-build: A field picker reflects over the system’s own data model at runtime, captures whatever filter a staff member already applied, and assembles a real report on the fly, saved for reuse afterward.
- Years of claims sitting in spreadsheets and shared drives: A migration tool re-keyed every legacy claim under the new case-number format and reattached every document to the claim it belonged to, replacing filename guesswork with a structural link.
What the System Delivers
- About three months of continuous, active development produced a consumer portal, a dealer response app, a full arbitrator case-management surface, and an admin workbench, all against one shared schema.
- Two full test workbooks now cover the entire workflow, from consumer intake through agency reporting, as a formal sign-off record.
- Legacy claims that used to live in spreadsheets and shared drives now sit under one structured case number each, documents included.
- Every action on a case leaves a permanent, provable record instead of a memory of who probably did what.
- Consumers and dealers can check a case status without calling the agency.
- Staff can build the report they need themselves, without waiting on a developer.
Your Next System Starts With a Conversation
Legal processes do not forgive shortcuts. Ariel built a system where every token, every sequence, and every status change holds up as evidence. A state agency runs its arbitration program on this approach today. Let’s talk about what your process needs. Book a Consultation →