Community · App Starter
A full directory site — browsable listings, reviews, owner claims, featured placements — generated into a codebase you own.
A directory is a business, and directory-builder subscriptions put a landlord between you and it. This starter generates the whole site — public browsing, reviews with moderation, an owner claim flow, and the featured-placement inventory you'll eventually sell — as code you own, so the niche you know becomes an asset you keep.
01 · Data model
Directories look simple from the outside and are all data model underneath. These six tables hold the listings, the taxonomy visitors browse by, the reviews that create trust, and the ownership records that turn listed businesses into engaged ones.
| table | what it holds |
|---|---|
businesses | The listings themselves — name, description, location, hours, contact details, photos, and the fields your niche cares about. |
categories | The browsable taxonomy, nested as deep as your niche needs — the structure search engines index and visitors navigate. |
reviews | Ratings and written feedback from visitors, tied to a listing and an author, published only after moderation. |
review_flags | Reports against suspect reviews — spam, conflict of interest, abuse — feeding the moderation queue with reasons attached. |
claims | Requests from businesses to take control of their listing, with verification evidence and an approval decision. |
owners | Verified business representatives who can edit their listing, respond to reviews, and buy placements once you sell them. |
02 · Screens
Visitors browse by category and location, filter on the attributes that matter in your niche, and land on listing pages built to rank — clean URLs, structured data, and one page per listing that search engines treat as the answer to a local query.
Reviews enter a queue before they publish; flagged reviews return to it with the report attached. Moderation is what separates a trusted directory from a graffiti wall, and here it's a built-in workflow with a decision trail — not a plugin.
A business finds its listing and requests control; you verify against the evidence and approve. Claimed listings get an engaged owner keeping hours and photos current — the flywheel that upgrades a scraped seed list into a living directory.
Category-level featured slots and homepage placements are inventory in the schema from day one. When the traffic arrives, selling a placement is flipping a record — the monetization path is built in, not bolted on.
03 · Process
Tell Dual7 what you're listing and for whom — the categories, the attributes worth filtering on, what a trustworthy review means in your corner. The starter builds the structure around your answers.
Iterate conversationally: add a price-range attribute, restructure categories, tighten the claim verification. Each change is real code you can read, made before or after launch.
Deploy to your infrastructure with approval gates and an audit trail. The listings, reviews, and traffic accrue to a property you own — not to a builder's subdomain.
04 · Fit
The best directories come from insiders who know which attributes actually matter — the certifications, the specialties, the things people really filter on. This starter turns that knowledge into a schema, which is the part no generic builder can supply.
A content site with an audience can add a directory the audience already wants. Running it as your own codebase means listing pages live on your domain and inherit your authority, instead of feeding a third-party platform your traffic.
Trade bodies and chambers maintain member lists anyway. A directory with owner claims lets each member keep their own entry current, and the association controls categories, standards, and who appears at all.
City-level guides are won by whoever covers the niche deepest. Owning the code means seed data can be imported in bulk, the taxonomy can match how locals actually search, and the margin from featured placements is entirely yours.
05 · Yours
The schema is the product, so start by making it your niche's. Add the attributes your vertical filters on — certifications, price bands, languages spoken, wheelchair access — and they become filters, listing-page sections, and structured data in one change. Vibe mode makes these conversational edits; the generated code makes them permanent.
Beyond attributes, whole capabilities extend cleanly: an inquiry form that forwards leads to claimed listings, geographic search with distance sorting, tiered listing plans where paid tiers unlock photos and links, or an events calendar per listing. Because the output is a standard full-stack app, your team can also build directly against the schema — no platform API in the way.
Directory builders rent you the machinery and keep the leverage: your listings live in their database, your URLs on their infrastructure, and your upgrade path is their pricing page. This starter hands you the machinery. The domain, the listing data, the review history, and the relationship with every claimed owner are yours — which matters, because a directory's value compounds over years, and compounding assets shouldn't sit on someone else's ledger.
The cost is operational honesty: moderation is your queue and uptime is your responsibility. Dual7's governed pipeline keeps changes safe with approval gates and an audit trail, and regeneration handles the structural changes you'd otherwise dread.
06 · Industries
A find-a-provider directory with specialties, insurance, and credentials as first-class data — generated into code you own.
A lawyer directory organized the way legal work actually is — practice areas, jurisdictions, bar admissions — in code you own.
A local dining guide — cuisines, neighborhoods, menus, photo-forward reviews — generated into a codebase you own.
A complete directory site: public browse and filter pages, SEO-ready listing pages, reviews with a moderation queue and flagging, an owner claim and verification flow, and featured-placement inventory — all as a full-stack codebase in your repository.
Yes — the schema is standard relational tables, so a seed list imports as rows into businesses and categories. Most directories launch with imported seed data and grow claimed, owner-maintained listings from there.
New reviews hold in a queue until approved, and visitors can flag published reviews for spam, abuse, or conflicts — flags carry reasons and feed the same queue. Every decision is recorded, and the rules are code you can tighten as the site grows.
A claim request captures who's asking and their verification evidence — a matching email domain, a phone confirmation, documents. You approve or reject; approved claimants become owners who can edit their listing and respond to reviews.
The starter ships the inventory: featured slots per category and homepage placements. Common additions — paid listing tiers, lead-generation forms, sponsored categories — are schema extensions you own outright, with no platform taking a percentage.
The pages are generated for it — one clean URL per listing, structured data, category pages that act as hubs. Ranking still depends on your niche depth and content, but nothing in the architecture is working against you, and you control all of it.
Dual7 App Starters
A full directory site — browsable listings, reviews, owner claims, featured placements — generated into a codebase you own. Describe your version to start — the output is a project you own.