Directory App Starter · Industry version
A lawyer directory organized the way legal work actually is — practice areas, jurisdictions, bar admissions — in code you own.
Nobody searches for 'a lawyer.' They search for an employment attorney admitted in their state who takes consultations this week. This starter generates a directory where practice areas, jurisdictions, and admissions are structured data — and where the consultation request, the moment the directory earns its keep, is a built-in flow.
01 · The problem
Legal search is jurisdictional before it's anything else. An attorney not admitted in the client's state is not an option, however glowing the profile — yet a generic directory has no concept of bar admission, so the filter that should run first can't run at all. Practice areas have the same problem: 'personal injury' and 'medical malpractice' are different markets, and a flat category list flattens them.
The transaction is different too. Restaurant directories end in a visit; attorney directories end in a consultation request with a conflict-sensitive intake — who's the other party, what's the matter, how urgent. Capturing that as a structured inquiry rather than exposing an email address is what makes the directory referable, and what gives listed attorneys a reason to pay for placement.
And attorney advertising is regulated. Client reviews, superlatives like 'best' and 'expert,' and testimonial handling are governed by state bar advertising rules, which vary. A directory whose moderation and display logic you own can encode the rules that apply to your market — a generic review pipeline can't, and the listed attorneys bear the risk.
02 · Data model
Everything in the base Directory starter —
businessescategoriesreviewsreview_flagsclaimsowners— plus the entities this industry actually runs on:
| table | what it holds |
|---|---|
practice_areas | A structured legal taxonomy with sub-areas — employment, immigration, estate planning — so matters route to lawyers who actually handle them. |
bar_admissions | Jurisdictions where each attorney is admitted, with year and standing — the eligibility filter that must run before any other. |
consultation_requests | Structured intake inquiries — matter type, opposing party, urgency — delivered to the attorney with a trail the directory can measure. |
03 · Screens
Search filters on admission state before practice area, fee model, and language — so every result can lawfully take the matter. Sub-area taxonomy keeps a securities litigator out of the divorce results and vice versa.
Attorneys claim profiles against bar-roll records — name, number, standing — before editing anything. Verification against a public professional register is cheap to check and non-negotiable for a directory clients will trust with legal matters.
Review display and moderation encode the constraints of attorney advertising: no unverifiable superlatives, testimonial disclaimers where required, and holds on reviews naming case outcomes. The rules are code, adjustable to the bars you operate under.
04 · In practice
A client filters by state and practice sub-area, compares profiles and fee models, and submits a consultation request with matter details. The attorney gets structured intake instead of a cold voicemail; the directory records the introduction it made.
An associate going solo claims her listing, verifies against the bar roll, and fills in sub-areas, admissions, and consultation availability. Complete, verified profiles rank higher in results — the incentive that keeps the directory current.
Featured attorneys see the consultation requests their placement produced, straight from the consultation_requests table. Renewal conversations run on delivered introductions rather than impressions — a pitch generic directories can't back with data.
Yes — admissions are structured records per attorney, and jurisdiction is the first search filter. Clients only see attorneys who can lawfully handle their matter, which protects them and the directory's credibility at once.
Through a structured intake form — matter type, parties, urgency — delivered to the attorney's claimed profile, with each request recorded. Attorneys get useful intake, and you get the introduction data that justifies placement pricing.
The moderation and display defaults are built for that terrain — held superlatives, testimonial handling, outcome-claim review — and because the logic is your code, it can be tuned to the specific bar rules your market answers to.
Well — associations already hold the roll, so listings seed from member data and claims verify against membership. The same codebase serves the public find-a-lawyer function and the members-only detail, on the association's own infrastructure.
Dual7 App Starters
A lawyer directory organized the way legal work actually is — practice areas, jurisdictions, bar admissions — in code you own. Describe your version to start — the output is a project you own.