The office, the services, the reviews, the licences — each is its own node, and each carries an @id pointing home. That is the difference between forty facts about a company and one company with forty facts. A search engine can only trust the second.
This is what hellojade builds for a roofer.
Meet Overhead Achievers — a roofing contractor in Naperville, IL, and our reference build. Everything below is a real, connected schema.org graph: the office, its services, offers, team, reviews, credentials, projects, and jobs, all linked by @id into a single map Google and AI agents read as one coherent business.
This demo graph is kept entirely separate from hellojade's own schema — it's here to show the product, not to describe hellojade.
The whole model, filled by one roofer.
Every facet of Overhead Achievers is described and cross-linked — from office identity to warranties, careers, and cool-roof energy options.
Every page, mapped to the graph.
hellojade turns the graph into a real, crawlable site — each entity becomes a page or an @id node, wired into one navigable structure.
Explore the graph we built for them.
The full Overhead Achievers relationship graph. Click any node to see how its categories link together.
A real business, described completely.
Overhead Achievers is a working roofing contractor, not a mock-up. The graph above is the same structure hellojade builds for any customer — which is why it is worth walking through rather than admiring.
Every node in the graph corresponds to something real: a service they actually sell, a county they actually cover, a licence they actually hold. Structured data describing things that are not true is worse than none — it is the fastest way to lose a rich result permanently.
Pages are not decorated with markup after the fact. The graph is the source, and the pages are generated from it, so the two cannot drift apart — which is the failure mode of every plugin-based approach.
This graph describes Overhead Achievers, kept entirely separate from hellojade's own. A demo that quietly showed our own markup would be showing you the easy case.
Why a roofer needs the whole structure
Most contractors have three or four of them: a name, an address, a phone number, maybe a review count. That is enough to appear, and not enough to be chosen. The categories that decide a close are further down the list — the licence that proves you are insured, the warranty that removes the risk, the service area that says you actually cover their street, the financing that makes a roof affordable this month.
An AI assistant asked to recommend a roofer weighs exactly those things, because they are the things a homeowner asks about. If they are not in machine-readable form, the assistant cannot use them, and it will name a competitor who published them instead.
What this took
The graph above is not a week of writing markup by hand. It is generated, validated against schema.org, and kept in step with the site automatically — which is the only way it stays correct once a business changes its hours, adds a service, or earns a new licence. Doing it once by hand is achievable; keeping it true for a year is what the product is for.
See the same idea applied to the whole coverage model in depth, or run the free audit to find out which of them your own business is missing.
Book a time to see what we'd do for you.
Twenty minutes, no pitch deck. We'll pull up how you look to Google and to the AI assistants right now, and walk through what we would change first.
Rather look around first? Run the free audit or watch the demo.