Prepared for Greg & Rikkie · Titan Pavements · 8 September 2026
They'll ask an AI what it costs to seal a 900 sq ft driveway, and they'll take the first credible answer they get. Right now that answer isn't coming from Titan — your site has no search foundation at all, for Google or anything after it. This is how we fix that, in three lifts, laid in order.
Homeowners and property managers used to open Google, scroll past three ads, and call whoever ranked. That's not the path anymore. They ask an assistant, get a straight answer, and contact one or two names it mentioned.
A contractor site built for 2015 SEO is invisible in that world — and Titan's site was never built for 2015 SEO either. There's nothing on it that tells Google — or an AI — what you do, where you do it, or what it costs. The blog is a real asset, and it's the only one currently doing any work.
The opening is narrow and it's specific: be the one place in Metro Detroit where somebody can look up their own asphalt and get a real number without waiting on a callback. Every competitor makes you fill out a form and wait two days for a rep. That gap is the whole opportunity, and it's what Phase 3 is built to take.
Nothing here is broken. It's unbuilt — which is a much better problem to have.
Squarespace, with the domain registered there too. Homepage, blog, careers. Structurally fine as a starting point — it just isn't doing any work for you.
No SEO foundationGenuinely valuable and worth keeping. It needs restructuring, a cadence, and optimization on the way out the door.
Asset — build on itStill a paper application. Becomes an online form that routes straight to your inbox, so you stop losing applicants who won't print something.
Manual todayBidding and estimating live here. The objection you raised isn't about features: the vendor can see all of your business data, and you'd rather he couldn't.
Ownership riskThere may already be data attached to your Google Business Profile. First thing I'll check — no sense paying to rebuild something that's already collecting.
UnverifiedYou don't lay surface course on bare grade. The pricing tool needs a site to live on and a CRM to close into. Built first, it gets built twice — and you pay for it twice.
So the order below isn't a preference. It's the only order where nothing gets built twice.
Phase 1 · Base course
10–12 weeks from deposit
A site that gets found, answers plainly, and turns a visit into a phone call.
Build
Get found
How the ten to twelve weeks goTwo weeks discovery and content gathering · two weeks writing every page as a copy deck you review before anything gets built · one week your review · four weeks build · one week SEO, schema and analytics · one week testing — forms, speed, mobile, every link · one week your second review and launch.
Where ten becomes twelveTwelve weeks if both of your review weeks run the full week. Ten if they come back inside three business days. A review that takes three weeks instead of one moves launch by two — that's the whole rule. The first slip is free; after that I send you the new date the day it happens, in writing, rather than saving it up for the end.
Done whenThe site is live, forms deliver reliably, analytics are recording, and the first month of content has shipped — with the aim of being live and indexed before March, when people start lining up spring work.
Phase 2 · Binder course
10–16 weeks · a winter project
Off PavementLayers and onto something Titan controls outright.
When we do thisDiscovery — the interviews, the demos, the recommendation, pulling and checking your data — touches nothing you're using, so it can start as soon as the new site is live. The migration and cutover wait for your off-season. Your team writes bids in that system every day, and swapping it out in June is how a migration turns into a disaster. Ten to sixteen weeks end to end, and the wide end is honest: nobody knows how cleanly PavementLayers exports until we pull it.
Done whenBids are being written in the new system, website leads land in it automatically, and PavementLayers can be cancelled.
Phase 3 · Surface course
A later project · no date on it
A stranger describes their driveway or lot and gets a credible number in under a minute.
Phase 3a — the pricing model · $4,500 · 6–8 weeks
Phase 3b — the build · $9,000–12,000 · 16–20 weeks
Why it's split in twoNobody should quote a fixed price for software that hasn't been specified — including me. Phase 3a produces the model and the spec; 3b gets quoted firm against them. If part one shows your pricing leans on judgment calls a model can't capture, we stop there and you've spent $4,500 finding that out instead of the full $13,500–16,500. A tool that quotes wrong is worse for you than no tool at all.
WhenThere's no date on this one, deliberately. It needs Phase 1 live and Phase 2 finished before it makes any sense, and it's a bigger build than either of them. It's in this proposal so you know what it costs and what it involves — not because I'm asking you to commit to it now, and not necessarily this coming season.
Done whenA stranger gets a credible ballpark in under a minute and a qualified lead shows up in your CRM.
The build is a project. Everything after it is a relationship — and the package you're on decides what's covered as each phase comes online. Pick one to see it priced out.
| What's included | Care | Growth | Partner |
|---|---|---|---|
| Phase 1 — Site & foundation | |||
| Site upkeep, backups, uptime monitoring | ✓ | ✓ | ✓ |
| Small edits & content swaps | 2 hrs/mo | 5 hrs/mo | 12 hrs/mo |
| Your blog posts published & optimized | 2/mo | 4/mo | Up to 8/mo |
| Ongoing SEO & answer-engine work | — | ✓ | ✓ |
| Google Business Profile management | — | ✓ | ✓ |
| New landing pages | — | 1/quarter | 1/month |
| Seasonal campaign (spring paving push) | — | — | 1/year |
| Analytics reporting | Quarterly | Monthly | Monthly + call |
| Response time (acknowledgement) | 3 business days | 1 business day | Same business day |
| Phase 2 — CRM | |||
| Requirements interview & vendor recommendation | $950 project | Included | Included |
| Implementation & migration off PavementLayers | $3,500–5,000 | $3,500–5,000 | $3,500–5,000 |
| Website leads routed in automatically | — | ✓ | ✓ |
| Team training & written documentation | $600 project | $600 project | Included |
| Day-to-day CRM administration | — | +$400/mo | Included, to 4 hrs/mo |
| Phase 3 — Pricing tool | |||
| Pricing tool license | — | +$600/mo exclusive +$400/mo non-exclusive | Included, exclusive |
| Metro Detroit exclusivity | — | With the $600 license | Included |
| Hosting & API usage | — | At cost | To 500 estimates/mo, then $40 per 100 |
| Model changes — new tiers, materials, modifiers | — | 2×/year | Quarterly, or as your business changes |
| Lead routing & CRM integration support | — | — | ✓ |
Growth is where I'd start. It covers the ongoing search and answer-engine work that makes the Phase 1 build keep earning, and it's the tier that scales into Phases 2 and 3 without renegotiating anything.
On the blog: your team writes the posts — I publish, format, optimize and distribute them. That's deliberate. You know asphalt and I don't, and charging you agency copywriting rates for expertise you already have in the building would be a waste of your money. If it turns out nobody on your side can hold a cadence, I'll write them at $200 a post. Better to find that out in month two than month eight.
One time
10–14 pages, custom-styled. Copy rewritten for conversion. 3–5 municipality location pages. Full schema and FAQ architecture. Rikkie's photo day art-directed and integrated. Analytics, Search Console and a Google Business Profile audit. Two rounds of revisions included.
Monthly, from launch
Care, Growth or Partner as set out above. Billed on the 1st. The initial term runs through 31 October 2027 or twelve months from launch, whichever is later — then month-to-month with 30 days' notice. I'm asking for your first full season because the work that pays off in April gets done in December, and I need to know you'll still be here for it. It's the only commitment in this document: everything you own, you keep, and after the first season you can leave any month. Seven percent off if you prepay the year — worth doing in October, when the season's cash is in the bank.
When you're ready
$950 for discovery and a vendor recommendation — included on Growth and Partner — then $3,500–5,000 for implementation and migration — where it lands depends on how much history comes across and how cleanly PavementLayers exports it — plus $600 training. That range becomes one firm number at the end of discovery, before you commit to the build. And if nothing off-the-shelf fits how you write bids, we stop and re-scope rather than quoting you custom work you didn't ask for. The CRM subscription itself is paid by Titan, in Titan's name.
Fixed · 6–8 weeks
Your pricing logic extracted and modeled, validated against twenty to thirty jobs you've already priced, and a written spec you sign off on. Ends with a firm quote for the build.
Quoted firm after 3a · 16–20 weeks
The build itself, quoted firm against the spec 3a produces. Then $600/mo to license it exclusively across Metro Detroit — Wayne, Oakland and Macomb — for an initial 18 months, renewable in 12-month terms while the license is active. $400/mo without the exclusivity, if you'd rather not pay for it. The licence — not the build — is what's folded into the Partner retainer.
Terms · 50% deposit starts Phase 1, balance due when the site is delivered for final review or fourteen weeks from deposit, whichever comes first · Two revision rounds included — a round is one consolidated set of change requests on the full site — further rounds billed hourly · Timeline runs from deposit and assumes feedback inside three business days; longer gaps move the launch date by the same amount · Retainer billed on the 1st, initial term through 31 October 2027 or twelve months from launch, whichever is later, then month-to-month with 30 days' notice · Pricing held through 31 October 2026
One line of context first, since you're handing this to one person rather than an agency: I build software systems for a living as a senior engineer. This is the kind of work I do, not a side experiment I'm learning on.
Greg, you said you want a partner rather than a vendor. That's easy to say and hard to put on paper, so here it is on paper — four commitments, all of which go into the agreement.
01
The site, the domain, the content, the photography, and every byte of customer data in the CRM. In your name, on your accounts, exportable any day you ask. Your pricing data and rate logic too — the engine is mine, the numbers inside it are yours and never leave Titan. Not a courtesy I extend — a clause in the contract. You're leaving PavementLayers over exactly this, and I'm not going to become the next version of that problem.
02
Your pricing logic and your crews' judgment are what make it credible — without real numbers behind it, it's a calculator nobody trusts. You're the design partner on this, which is why the model and the build together come to $13,500–16,500 — roughly half of what the same tool costs as a straight work-for-hire.
03
I'll license it to paving contractors in other markets — Grand Rapids, Columbus — and never inside yours while your exclusive license is active. That's what separates the two rates: at $600 nobody paving your market can run it, at $400 they could. Either way it isn't rent — it covers keeping the model itself current as your business changes, new materials or tiers or modifiers, and every improvement to the core tool that I build for anyone, anywhere. Your own rates you change yourself, in the admin screen, whenever you like.
04
Site, CRM and pricing tool are one machine with three parts. Split across three vendors, every failure becomes an argument about whose fault it is. Under one agreement, there's nobody to point at but me — which is the point.
If outright ownership of the pricing tool matters more to you than the price, say so and we'll structure it as work-for-hire instead — same tool, roughly twice what the model and build come to together, no license fee, and it's yours. I'll put a firm number on it if that's the direction you want to go. I'd rather you choose it knowingly than find out later there was another way to do it.
Six answers. None of them are hard, and a couple of them change the timeline meaningfully.
A spreadsheet, inside PavementLayers, or in your head. All three are workable — it just changes how long Phase 3 takes to model.
Not where you'd take a job, where you actually work. That list is exactly what the location pages get built from.
I need admin access to it, and I want to see whether it's already collecting analytics before I add anything new.
For Phase 2 requirements, that person's opinion matters more than either of ours. Building it around the owner's view is how these migrations go wrong.
Be honest here rather than optimistic. If the answer is nobody, the write-for-you add-on is the conversation and it's better had now.
Current cost, renewal date, and whether there's a termination window. What you're paying now is the sensible benchmark for what the replacement subscription should cost.