Lawyer Directory
A full-stack lawyer directory with rich filtering by practice area, language, location, and verification status. Built with Laravel, React, and Inertia.js with a Filament admin panel for managing listings, verification, and featured placement.
The brief
A client needed a public-facing lawyer directory where potential clients could search for and connect with lawyers across multiple practice areas and jurisdictions. Existing options were either generic business directories with no legal-specific filtering, or expensive subscription platforms that charged lawyers per lead. The goal was a purpose-built platform where lawyers could be listed with full professional profiles, and visitors could filter by practice area, location, languages, consultation fee, and experience level.
The brief had two firm requirements: meaningful search that reflects how people actually look for legal help (by specialism and language, not just name), and a verification layer so visitors could distinguish credentialled, bar-registered lawyers from unverified listings. This meant building a data model rich enough to store bar admission details, jurisdictions, education, and work history alongside the searchable fields.
What was built
- Full-text search across name, tagline, city, and firm name
- Practice area filter covering primary and additional specialisms
- Consultation fee cap filter with free consultation toggle
- Language filter with multi-language support (30+ languages)
- Experience range filter (e.g. 0–5 years, 10+ years)
- Verified-only filter for bar-admitted lawyers
- Paginated results (12 per page) sorted by featured then verified status
- Full profile page with bio, tagline, and contact details
- Primary and additional practice areas displayed
- Bar admission details: bar number, association, and admission year
- Jurisdictions list with country, bar association, and status
- Education history: institution, degree, field, and years
- Work experience timeline with firm, role, city, and dates
- Certifications and awards sections
- Languages spoken with proficiency levels
- Free consultation badge and consultation fee display
- Firm name, firm size, and cases handled indicators
- Lawyer record creation, editing, and soft deletion
- Full form covering all profile fields with structured repeater inputs
- Practice area management — create, edit, and view
- Featured and active status toggles per listing
- Verified status management with timestamp tracking
- Infolist view for reviewing a lawyer's complete profile at a glance
- Filterable and sortable lawyer table with key stats
- Lawyers with slugged URLs generated automatically from first and last name
- Practice areas as a standalone relational table with lawyer counts
- JSON columns for arrays: languages, jurisdictions, education, experience, certifications, awards, and additional practice areas
- Soft deletes on lawyer records to preserve data integrity
- verified_at timestamp distinguishing verified from unverified listings
Screenshots
Screenshots of the live application.
Technical notes
Have a similar project?
Get in touch with a brief description of what you need and I'll come back to you within 24 hours.