Overview
Black Knight Roofing (blackknightroofing.com) is a veteran-owned roofing company in Denver, Colorado. The site has one job: turn Colorado homeowners into free inspection requests and calls.
Its content comes from trussOS, a multi-tenant headless CMS for local service businesses that I built at tarunSoft (more than 360 of its 366 commits are mine). The site’s pages, services, projects, media and roof calculator all come from it.
![]()
The challenge
- Roofing is a trust purchase. Homeowners compare several roofers, so ratings, accreditations, warranties and real projects have to be visible right away.
- Local search decides who gets the call. The company serves many Colorado cities, and each needs a page that can rank.
- Leads must reach the sales team instantly, wherever they start on the site.
The solution
Built to convert
Every page leads with a clear offer, Google, Facebook and BBB ratings, and a multi-step quote form. The form starts with just a ZIP code, so it’s easy to begin, and sends each lead straight into the client’s CRM.
![]()
Services, materials and proof
The site covers residential and commercial roofing, metal, stone-coated steel and concrete tile roofs, storm and hail damage, gutters, siding and windows, each with its own page. Material cards show the warranties and ratings homeowners care about.
![]()
![]()
There are also before-and-after photos, a gallery, case studies, financing, a referral program, a blog and FAQs. A clear process section sets expectations from the first call to the final inspection.
![]()
Found in every service area
There are city pages for each service area (Denver, Aurora, Boulder, Fort Collins and more), plus structured data for the roofing business, its ratings, FAQs and how-tos.
trussOS, the platform behind it
trussOS is a multi-tenant headless CMS with a client dashboard:
- Content: pages built from blocks, blogs, services, projects, case studies, testimonials, FAQs and media.
- Leads and customers: forms, leads, bookings and customer records.
- Roofing tools: roof pricing and an embeddable roof cost calculator widget.
- SEO: SEO assistance and instant indexing.
- AI: AI agents and an MCP server.
- Custom domains: Caddy issues TLS certificates on demand for each tenant’s domain, after checking it with the API.
Under the hood it’s a Turborepo monorepo:
- NestJS 11 API with Drizzle ORM on PostgreSQL 16, S3-compatible storage and Sharp
- two Next.js 16 apps, one for system admins and one for tenants
- Docker Compose with Caddy
Key features
- Multi-step quote form wired to the client’s CRM
- Embedded roof cost calculator
- Pages for 11 services and around 20 service areas
- Ratings, accreditations, warranties, before-and-after photos and case studies
- Financing, referral program, blog and FAQs
- Structured data for local SEO, and analytics
- Content managed in trussOS, a multi-tenant CMS with custom domains