Neil Godfrey

Tinley Park · May 18, 2026

SB7 for engineers building in public

Engineers underrate words.

We trust the code to do the talking and let the copy be whatever. Then the site lands flat, the bio reads like everyone else's, and the chat with the prospect goes "so what do you actually do?" — and we can't say it cleanly.

The framework I keep returning to is StoryBrand — specifically Don Miller's SB7. It's a one-page interview that forces you to answer seven questions about your buyer, your offer, and the antagonist. Then it gives you a rubric for auditing every surface — homepage, footer, CTAs, bio, meta description — against the answers.

I've run it on five GL properties this month: godfreylabs.com, neil.godfreylabs.com (now builddaily.io), paiddaily.io, my Premium Desk product, my Upwork profile. Same procedure, five very different outputs. Each one is a one-page brandscript living in the repo, plus a rewrites doc that scores existing copy line by line.

What I learned applying it as an engineer — not a marketer — is that the framework's value is not where the books put the emphasis. So here's the engineer's read.

The seven sections in 30 seconds

  1. Character. Who's the buyer? One persona, narrowly drawn.
  2. Problem. External (the visible problem), internal (how it makes them feel), philosophical (why it's wrong), and a villain.
  3. Guide. You — showing up with empathy first, then authority.
  4. Plan. 3–4 concrete steps the buyer takes to work with you.
  5. Call to Action. A direct one (the real ask) and a transitional one (low commitment).
  6. Success. What life looks like after.
  7. Failure. What life looks like if they don't act.

That's it. The whole book is variations on those seven boxes.

The internal problem is the load-bearing one

Every engineer I've seen run this skips straight to the external problem. "They want a working AI feature. They want production-grade infra. They want their app to load faster." Fine. True. Useless on its own.

The internal problem is what the buyer actually feels. Frustrated. Scared they hired wrong. Embarrassed in front of the board. Tired of being the only one who can debug it.

If your copy names only the external problem, you've described a job posting. If it names the internal problem, you've described someone who's been in their chair. That's the unlock.

For godfreylabs.com the internal problem isn't "we can't ship AI features." It's "my roadmap is longer than my team can deliver and I keep hearing AI can help but I don't know who to trust to wire it in without leaving me with a vibe-coded mess." That sentence wrote the hero, the CTA, the about page, and the failure section. One real internal-problem sentence makes the rest of the script practically write itself.

The villain has to be a category, not a competitor

This is where most rebrands quit. You can't name a person, you can't name a competitor (looks petty), so the villain slot just stays empty and the brand has no edge.

The villain is almost always a category — a behavior pattern, a myth, a bad incentive structure.

  • For godfreylabs.com: the headcount trap (the idea that the answer to a stretched team is always another seat).
  • For paiddaily.io: random-walk vibes-trading.
  • For my Upwork profile: agencies that bill against a roadmap they don't ship.

If you can't name a villain, push past the discomfort. Your offer has an enemy whether you've named it or not. Naming it is what gives the rest of the copy edge.

Empathy comes before authority

This is the order, and the order matters. Engineer-written copy almost always leads with authority — stack list, years of experience, named systems shipped. Then maybe at the bottom there's a line about "we get it, building AI is hard."

Flip the order. Empathy first — one or two concrete sentences proving you've sat where the buyer sits. Then authority. Empathy-first earns the right to claim authority. Authority-first reads as bragging from a stranger.

You don't have to write more words. You write the same words in a different order.

The brandscript is a posture; the rewrites doc is the audit

I wrote about this last week — the brandscript by itself doesn't change anything on your site. It's the posture. The rewrites doc is the audit that converts the posture into shipped copy.

For each persuasion surface — hero, subhead, every CTA button, footer colophon, nav labels, meta description, even the alt text on the hero image — you stand in front of it and ask:

  • Is the spotlight on the buyer or on me?
  • Have I named the internal problem in their language?
  • Empathy first, then authority?
  • Can they picture the next 3 steps?
  • Is the CTA specific — price + action + timeframe?
  • Are both sides of the stakes legible?
  • Is there a villain present, even implicit?
  • Could someone outside the audience follow it?

Each surface gets a PASS / FAIL and, for the fails, a verbatim rewrite. Not a description of what should change — the actual replacement text. Then you commit per surface.

The audit is the value, not the order. If you've already shipped, run it retroactively. The artifact is what keeps future copy edits from drifting.

What I'd tell another engineer

Pick one property — your most-visited one — and run the seven questions on it. Not in your head. In a file. Force yourself to write the answers down.

Then write the one-liner:

"We help [character] who [problem] [solve the problem] so they [success], without [failure]."

If you can't finish the sentence, your offer isn't sharp enough to ship copy against. That's the diagnostic. The brandscript isn't going to fix that — but it'll show you which box is empty, and that's the first thing worth your time.

I keep the whole procedure in the GodMode repo at procedures/storybrand-rebranding/. The five brandscripts and rewrites docs live next to it as worked examples. None of it is original work — it's Miller's framework, applied with discipline, with engineer-shaped rough edges left in.

The framework isn't hard. The discipline of writing the answers down — and auditing every surface against them — is the part most of us skip.

That's the part that pays.

  • #storybrand
  • #building-in-public
  • #branding
  • #voice
  • #framework