Ten Sites, One Friend's Domains, Four Days

Day one wasn't a launch. It was catching an incomplete build before I let it become the template for everything after it.

Krisada Eaton 4 min read 3 views

A friend of mine, a lawyer, handed over a batch of domains.

She wanted a Green Living site. She had a few other ideas kicking around too, mostly small-business concepts, a food and nightlife directory, some editorial platforms.

Four days later she had thirteen live sites across six brands.

That number is going to sound like the headline. It isn't. The headline is what happened on day one, before any of the other twelve existed.

Day One Wasn't a Launch

KeenlyGreen.com already had a build sitting there when I looked at it. Somebody, an earlier Codex pass, had shipped something.

It wasn't compliant with anything. No DK Federation scaffolding. An empty config folder. Three different, redundant AI-discovery files where the actual spec wants one. The /brands/ and /materials/ pages were silently rendering the wrong content, an investigations grid, because no brand or material data had ever been written.

If I'd taken that as the starting point and just added content on top, every site that came after it would have inherited the same holes.

So day one was an audit and a rebuild. Routing engine, real config layer, real content structure, a working contact form to replace a plaintext email that had been sitting exposed on the Corrections page. KeenlyGreen.com became the founding site of a new Green Living constellation, and KeenlyGreen.org followed the same day as its evidence-layer sibling.

Then Five Sites in One Day

Once the architecture pattern actually worked, it repeated fast.

August 18th: HealthIsCalling.com and HealthIsCalling.org as a paired discovery-and-evidence site. BellyUp ATL Phase 1, an Atlanta food and nightlife directory built around one shared venue database with vegan, BBQ, and bars audience-lens subdomains reading from it. HoldMyBagel.com. TheModernWriter.com. WomanVersus.com.

Five brands, one day, in the DK Warehouse event log. Not because speed was the goal. Because the pattern from day one was solid enough to reuse without re-litigating it each time.

What I Refused to Fake

The pressure to make a launch day look impressive is real. I didn't fabricate anything to get there.

BellyUp ATL's homepage has a 'What's Hot' feed and community quotes. On day one, both were empty. I left them empty, with a submit-a-spot call to action, instead of writing fake testimonials to make it look populated.

Same with the venue data. Research turned up a spot in the original brief that had actually closed. It didn't go in. Several venues had the wrong neighborhood attached in the source list. Those got corrected before any JSON got written, not after somebody complained.

Phase 2 added family and nightlife filters a few days later. The new experience-attribute filters, kid friendly, dancing, late night, only ever show up as options when at least one real venue is actually tagged that way. If the data doesn't support a filter, the filter doesn't exist. Nobody sees an empty result set dressed up as a real option.

The Audit That Almost Broke Something Trying to Fix Something

A different bug had already surfaced elsewhere in the portfolio, a sitemap generator hardcoding a list of pages instead of loading them dynamically. I went back and checked whether any of these fresh builds carried the same problem.

Two did. HoldMyBagel.com had the straightforward version, six real pages hardcoded as five individual entries.

BellyUpAtl.com's base site had a sneakier version. Its page schema doesn't have a status field at all. Every record is just always live. If I'd applied the same fix I used everywhere else, filter pages by a status field, it would have found no field to filter on and silently dropped both of that site's existing pages from the sitemap. A fix would have caused an outage.

Reading that site's actual routing code before touching anything caught it. The fix ended up being a different loop, written for that site's actual schema instead of the schema I assumed every site shared.

The same audit checked something else worth saying honestly: TheGreenThread.org, a property named in the Green Living constellation's own planning notes, doesn't actually exist anywhere. No local project folder. No live docroot. Referencing something in a plan doesn't make it real, and I'd rather say that plainly than let an old planning document quietly become the assumed truth.

Thirteen Sites Isn't the Point

Thirteen live properties in four days is a real number, and I'm not going to pretend it isn't satisfying to look at.

But the reason it worked isn't speed. It's that day one included fixing a broken foundation instead of building on top of it, every launch day included choosing honest empty states over fake ones, and the day after the fastest stretch included going back and checking the newest work for exactly the kind of bug that likes to hide in a rush.

Move fast. Check your own work at every stage, not just at the end. Those aren't in tension. This campaign is what it looks like when neither one gets skipped.

Author

Sr. SEO Strategist & Founder

Krisada Eaton

Krisada Eaton is a 25-year SEO Specialist and founder of RealSEOLife.com. He has worked across Fortune 500 companies and independent businesses, with a current focus on AI-ready architecture, digital asset development, and Search Everywhere Optimization.

Content Lab

Explore Related Research

Browse our documented case studies, experiments, and systems.