Starters

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
  • Next.js 16
  • React 19
  • TypeScript
  • Tailwind CSS 4
  • 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