Transect 001 Status quo anarchist Grumpiest optimist in the room Strategic misfit

The cause is lost. Ship it.

About

Justin Hooker

Full-time pirate. Part-time architect. Wannabe designer.

I’m a product engineer. I work front end, back end, and the messy middle nobody owns. I got here by accident: the tools I needed didn’t exist, so I built them. Now I go looking for problems I don’t know how to solve yet.

The Process:

Make it possible.

Pirate

Make it reliable.

Architect

Make it fun (or efficient. Fine.)

Designer

Those steps used to run in sequence, and most projects stalled at the first one. With agents I run them in parallel. I don’t trust instinct. Not mine, not the AI’s. So I test everything and keep what works. My git history is a graveyard of what didn’t.

It’s all craft, and the screen is just one medium. Off it, I go analog: abstract painting, sculpting clay, and custom carpentry, all done slowly and deliberately. It reminds me not everything should be automated.

Rocinante was Don Quixote’s horse: scrappy, stubborn, and not quite clever enough to check the odds. History remembers the knight tilting at windmills. I’ve always been more interested in the horse that carried the weight. Everything here started as an idea I had no business attempting. These are the ones that survived to production.

W O R K

Day job
Walter Living
Automating myself into unemployment.
Walter MCP Server

A private line that lets an AI assistant answer questions about the business straight from live company data. It can only read, never change anything, and personal details are stripped out before anything leaves the building.

Acquisition Engine, Part 1: Blogs

A machine that keeps the company blog fresh on its own. It spots stale or outdated articles, rewrites them with every claim backed by a verified source, and checks its own work before handing it over. A person always presses publish.

Acquisition Engine, Part 2: Ads

The same loop that keeps the blog fresh, run against Google Ads. It reads the keywords, judges each one on what it actually brought in, and changes them, with live traffic data feeding every adjustment. It also tells Google which clicks became paying customers, with the real amounts, so the budget chases revenue instead of clicks. If someone did not arrive through an ad, nothing about them is ever sent.

Intent-First Onboarding

The signup survey. Before anyone sees the app, five quick questions establish who they are and what they intend to do: buying or selling, how soon, where. Every way of signing up runs through it, no skips, and the answers feed the persona system directly, so the rest of the product knows who it is talking to from the first minute.

Automated Routines

A clone of my CTO. I read every change request and PR comment he left over eighteen months and distilled what he keeps objecting to into 55 rules. Every night a bot checks the day’s merges against them: style fixes are bundled into one PR, anything functional gets a PR of its own. The same night the docs are checked against the code and brought back in line, so the codebase never quietly degrades.

CRM, Part 1: Buyer Persona

Works out what kind of buyer someone is: nervous, analytical or impulsive. The first guess comes from the onboarding survey, then nightly behavior re-checks it. The only thing it is allowed to change is how an email sounds, its tone and its length. Never what it says.

CRM, Part 2: Retention Signals

Fed by Part 1. Every night it weighs and measures what each customer did and predicts their next step: who is about to leave, who is ready to upgrade, who has gone quiet after bidding. The scoring is plain arithmetic with no AI guessing.

CRM, Part 3: The Tone Layer

Takes the persona from Part 1 and the activity from Part 2 and writes one highly specific email: the right tone for that reader, about where they are in the process, in the voice of their agent. It also knows when they are usually on the platform and holds the send for that window. If it is Monday and they always show up on Tuesday afternoon, it waits for Tuesday afternoon. Every email still passes its checks before it may send.

Signup Attribution Pipeline

Shows which ads and pages actually bring in customers. It follows a visitor from the first page that brought them in to the moment they signed up, without ever sending anyone’s name or email to Google.

Left for Dead

The blog had been left for dead on hosted Ghost. I brought it home, self-hosted, then rebuilt the entire marketing site around it with the blog as the engine. Everything is written for humans and structured for machines: SEO for search, AEO for the AI crawlers, so it ranks, and so an agent asked a question quotes us for the answer.

CRM Contacts Dashboard

A searchable list of every customer with their full history, built to replace an external tool. It shipped, lived exactly three days, and was deleted.

Event Performance + Feed

Two internal pages of charts and a live activity feed that never reached users and were removed after two weeks. The useful part, knowing which actions signal real intent, lives on inside the scoring engine.

Signal Dashboard

A daily call list for the sales team, with a one-click AI-drafted email per client. Replaced by asking the AI assistant for the same list. The scoring underneath is unchanged.

Webinar Platform

Everything needed to run live webinars: signups, calendar invites, reminders, replays, even its own AI tool. Ran from autumn to spring, then the company stopped doing webinars and all of it was deleted on purpose.

Broadcast Email System

A careful mass-mail tool with filters, test sends and batch sending. It worked, it was never once used in production, and it was deleted along with the webinars it was built to announce.

My Projects
My Projects
Anarchy
breaking
what’s
“fine”
to build
what’s
next
breaking
what’s
“fine”
to build
what’s
next
SSSS aaaa yyyy
HHHH eeee llll llll oooo
[email protected]