SaaS · 2026 Live
CaseFlow
Multi-tenant case management SaaS for legal practices, consultants, and coaches.
Tech stack
Laravel 12 PHP 8.2 Filament 3 Livewire 3 Stripe Cashier Sanctum PostgreSQL 16 Docker DomPDF
The problem
Law firms, consultants, and coaches cobble together spreadsheets, Dropbox, and email for case management. Legal-specific SaaS like Clio or MyCase costs $80 to $120 per user per month and locks you into a vendor silo. Small practices need real multi-tenant isolation, a client portal that is not a second admin panel, and transparent billing without the enterprise price tag.
Goals
- Real multi-tenant isolation with no chance of cross-tenant data leakage
- A client portal that feels like a product, not a downgraded admin UI
- Stripe billing with three tiers and clean upgrade and downgrade flows
- PDF invoicing that renders cleanly on both screen and print
- REST API with per-user token management and HMAC-signed outgoing webhooks
The solution
- Admin console for providers built on Filament 3 with kanban and calendar views
- Separate Livewire 3 client portal for end users with document upload and chat
- Stripe Cashier integration with three pricing tiers and seat-based limits
- PDF invoice generation with DomPDF and CSV export for reports
- Sanctum REST API with per-user tokens and HMAC-SHA256 signed outgoing webhooks
- Custom lightweight activity log trait, no heavy package dependencies
My role
- → Architecture and multi-tenancy design (global scope on provider_id, no tenancy package)
- → Laravel 12 backend with Filament 3 admin console
- → Livewire 3 client portal with real-time updates
- → Stripe Cashier billing integration
- → HMAC webhook signing and verification patterns
- → Docker deployment and CI with GitHub Actions
UI direction
Laravel-native Tailwind and Livewire with no second framework layered on. Provider admin aesthetic intentionally separated from client portal aesthetic so the two surfaces read as distinct products.
User flows
Provider workflow
- 1 Sign in to provider admin console
- 2 Create a new case with milestones and documents
- 3 Invite a client to the portal via email
- 4 Log time entries and expenses against the case
- 5 Generate a PDF invoice and send via Stripe for payment
Client portal workflow
- 1 Client signs in through a separate portal domain
- 2 Views case timeline, milestones, and documents
- 3 Uploads signed documents and sends messages
- 4 Pays invoices via Stripe-hosted checkout
Screenshots
Key learnings
- Global scopes for tenancy beat packaged tenancy solutions for anything short of subdomain isolation
- A dedicated Livewire client portal converts better than trying to reskin the admin for end users
- HMAC webhook patterns generalize cleanly across every SaaS product that needs outbound notifications
- A custom 50-line activity log trait is lighter and easier to reason about than a Spatie dependency for most cases
Want something like CaseFlow?
I'm open to senior contract work. Let's talk about what you're building.
Get in touch