Legal-Tech SaaS Platform
Case Dashboard
Overview
Case Dashboard is a legal-tech SaaS platform covering the full lifecycle of a small-claims case: intake, case management, e-signature, and mailing, serving two client-facing products (Small Claims Hero and Activation Hero) from one shared backend. Built with one other engineer, splitting backend architecture and frontend delivery.
The problem
Legal workflows are stateful and role-gated in ways most CRUD apps aren't: a case moves through a defined lifecycle across multiple US states with different procedural rules, different people (intake staff, case managers, reviewers, clients) need different slices of the same case data, and the platform has to handle real payments and legally significant documents (signatures, mailings) without room for silent failure.
Architecture & approach
The platform models cases as a multi-state workflow lifecycle: intake, review, filing, service, and resolution stages, each gated by role permissions so that a given user only sees and can act on the stages relevant to their role.
Access control is built around 4-role RBAC (intake, case manager, reviewer, admin), enforced at the API layer so that authorization logic lives in one place rather than being re-implemented per endpoint.
Two client-facing products, Small Claims Hero and Activation Hero, are served from the same backend and case model, with the Next.js 14 / React / Redux frontend implementation split per product on top of shared API contracts.
Technical decisions
Two payment processors, one security posture
Stripe Checkout and Authorize.net run side by side to cover different client and compliance needs, with a shared security-conscious architecture (server-side verification, no card data touching application servers) so adding the second processor didn't mean a second security model.
Claude for claim classification, not decisioning
The Claude API is used to classify incoming claims and flag relevant case attributes, feeding a human reviewer rather than making the filing decision itself, using the LLM to cut manual triage time while keeping a person accountable for the legally significant call.
Shared backend, split frontends
Rather than forking the backend per product, Small Claims Hero and Activation Hero share one case model and API surface, with product-specific behavior handled in the Next.js frontend layer. This kept the two products consistent as the case lifecycle evolved instead of drifting apart.
Outcome
- Shipped a working end-to-end SaaS platform, intake through e-signature and mailing, across two live client-facing products from a single backend.
- 4-role RBAC and the multi-state workflow model gave each user type a scoped, correct view of case state without custom per-client logic.
- Dual payment processor support and Claude-assisted claim classification shipped without expanding the security surface area or removing human review from the decision path.