Back to projects

Legal-Tech SaaS Platform

Case Dashboard

Full-Stack Engineer (2-engineer team)2025 to 2026
Next.js 14TypeScriptPostgreSQLStripeAuthorize.netClaude API
View live site

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.