Anyone managing many businesses is already sitting on the data those businesses need on the web. These are the shapes that takes.
Field service, practice management, salon, and shop software all hold the same thing: a business's operating record. That record is a complete website waiting to be published, and shipping it does not require you to build a CMS.
hours.friday
07:00–19:00
What changes
One schema mapping covers your entire tenant base, including every business you onboard afterwards.
Websites become revenue per tenant instead of a roadmap item that grows a support surface.
Nobody on your team reviews copy, chases stale hours, or triages a page builder bug.
Franchisees are good at running their location and rarely good at maintaining a website. Publish each location from the record head office already keeps, and brand consistency stops being a policy you enforce.
location.status
OPEN · 214 sites
What changes
Shared brand and layout, per-location facts, with no franchisee able to drift the template.
A new location is a record, and the record becomes a live site the same day it is created.
See what every location is publishing right now, and what change caused the last publish.
Agencies that manage many small-business sites lose margin to tiny edits. Wire the client's operational system in once and the low-value maintenance work disappears, leaving the work clients actually value.
requests.content_edit
0 / month
What changes
The class of request that costs more to administer than to do simply stops arriving.
Portfolio size stops being limited by how many small changes your team can absorb each week.
Every site is a Git repository, so a client leaving does not mean a proprietary export problem.
MSPs already hold accurate records about the businesses they support. Publishing a correct, fast, indexable site for each one is an additional managed service that needs no designers and no content workflow.
client.services
9 active
What changes
Reads happen through keys you issue, limited to the fields you choose to expose.
Builds, certificates, and deployments are handled, so this does not become another system you patch.
A site that does not build is never published, so a bad generation cannot reach a client.
Availability, rent, and amenities change constantly and go stale on the website first. When the site reads the same record your leasing team works from, a wrong listing stops being possible.
unit.available_from
2026-09-01
What changes
Each building or portfolio gets its own site, generated from the units you already track.
A unit leased this morning is not still advertised as available this afternoon.
Prospects arrive knowing what is actually free, which is what makes the enquiry worth taking.
Local search rewards pages that are specific and correct. Generating each location's page from its own record produces exactly that, at whatever number of locations you operate.
site.render
server-side
What changes
Opening hours, address, and services are emitted as markup from the same record that renders the page.
Server-rendered HTML means language models can read a location's facts without executing your JavaScript.
The thousandth location page is built the same way as the first, with no template drift in between.
Map your schema a single time and every business you hold becomes publishable, including the ones you have not signed yet.
A webhook or a scheduled poll is enough. When the record moves, the site follows without anyone being asked to act.
Separate repository, build, and deployment for every business, so nothing crosses between the sites you publish.
Complete HTML on the first response, served close to the visitor, which is what local search traffic on phones needs.
Every publish is a commit. Diff two builds, see which record change caused one, and roll back without rebuilding state.
Custom fields, per-vertical quirks, and partial records are handled in the mapping rather than forced into ours.