Counsel
A small law firm template: a public website, a staff dashboard for leads, matters and billing, and a client portal.
Best viewed on desktop for the full experience
- Category
- Legal
- Stack
- shadcn/ui
- License
- Free for any project
- Routes
- 47 routesView
What is Counsel?
Counsel is a fictional small law firm, Calloway & Reyes. People read about its practice areas and attorneys, browse results and legal guides, and book a consultation.
Behind the site, staff run the firm from a dashboard: leads and a pipeline, conflict checks, consultations, clients and matters, documents, messages, and billing. Clients sign in to their own portal to follow their case, sign documents, and pay invoices.
All names, matters, case results, and testimonials are fictional demo data.
What is this template?
Counsel is a complete template for a small law firm. It includes:
- A public website with practice areas, attorneys, results, guides, and a consultation flow
- A staff dashboard to manage leads, matters, clients, documents, and billing
- A client portal for case updates, documents, forms, messages, and payments
It builds with no environment variables and keeps all demo records in the browser. Reads come from one store and writes go through named functions, so connecting a real backend means swapping those modules, not rewriting the UI.
Main features
Website
5- Home page, about, and careers
- Practice areas and attorney profiles, each with its own page
- Case results, legal guides, and an FAQ
- Contact and a consultation request flow
- Privacy, disclaimer, and attorney advertising pages
Staff dashboard
7- Lead intake and a drag-and-drop pipeline
- Conflict checks and consultation scheduling
- Clients and matters, with tasks, documents, and messages
- E-signature requests
- Invoicing, payments, trust balances, and reports
- Editable site content
- Role previews, profile preferences, demo export, and one-click reset
Client portal
4- A matter timeline with the case's current stage
- Documents, uploads, and forms
- Messages and appointments
- A typed e-signature flow and demo invoice payment
SEO
4- Per-page metadata and canonical URLs
- Social cards and generated Open Graph images
- Structured data
- A generated sitemap.xml and robots.txt
Experience
5- A ⌘K command search in the dashboard
- Accessible: semantic landmarks, keyboard-friendly navigation, and axe-tested pages
- Respects reduced motion
- Demo sign-in for staff and client roles
- Unit tests with Vitest and end-to-end tests with Playwright
What makes it unique
Three apps in one
A firm website, a staff dashboard, and a client portal, sharing one live demo state.
Real firm workflows
Leads, conflict checks, consultations, matters, and trust balances work the way a small firm runs them.
Built for clients too
Clients follow their case, sign documents, fill in forms, and pay invoices in their own portal.
SEO built in
Metadata, social cards, and structured data on every page, plus a generated sitemap and robots.txt.
No backend needed to start
Everything runs in the browser. A backend guide walks through swapping the data layer for your API.
Tested and accessible
Unit tests, Playwright smoke tests, and axe accessibility checks on desktop and mobile.
Routes
47 routes
Public site
/- Home page
/about- About the firm
/practice-areas- Practice areas
/practice-areas/:slug- One practice area
/attorneys- Attorneys
/attorneys/:slug- Attorney profile
/results- Case results
/resources- Legal guides
/resources/:slug- One guide
/faq- Questions and answers
/careers- Careers
/contact- Contact
/consultation- Book a consultation
/consultation/thank-you- Consultation confirmation
/portal-help- Portal help
/privacy- Privacy policy
/disclaimer- Disclaimer
/attorney-advertising- Attorney advertising
/login- Demo sign-in
Staff dashboard
Workspace
/dashboard- Overview
/dashboard/leads- Leads
/dashboard/leads/:id- Lead detail
/dashboard/pipeline- Lead pipeline
/dashboard/consultations- Consultations
/dashboard/conflicts- Conflict check
Practice
/dashboard/matters- Matters
/dashboard/matters/:id- Matter detail
/dashboard/clients- Clients
/dashboard/clients/:id- Client detail
/dashboard/documents- Documents
/dashboard/messages- Messages
/dashboard/billing- Billing
/dashboard/billing/invoices/:id- Invoice
Firm
/dashboard/content- Site content
/dashboard/reports- Reports
/dashboard/settings- Settings
/dashboard/profile- Profile
Client portal
/portal- Overview
/portal/case- My case
/portal/documents- Documents
/portal/sign/:docId- Sign a document
/portal/messages- Messages
/portal/appointments- Appointments
/portal/billing- Billing
/portal/forms- Forms
/portal/forms/:formId- One form
/portal/profile- Profile