(AI)

I build workflows that hold every project to a standard.

Written rules, automatic checks and constantly improving agents.

DESIGN CODE LEARNINGS HOOK ROUTING

STEMWISE · 24 MODULES, 99 CROSS-MODULE IMPORT EDGES · REAL REPO, COUNTED 2026-08-27 · 211 SOURCE FILES · 147 COMPONENT FILES · 19 PAGES · COUNTED 2026-08-27

(THE TWO WORKFLOWS)

All built for any and all AI platforms. Point any at the folder and the same standard holds.

19 rule files · 1,270 lines63 dated lessons, written downone check runs on every single editcounted 2026-08-26

01

The design workflow

Nothing visual ships until it survives review.

  • Automatic rules and a panel of reviewers check every change before it ships.
  • A check runs on every edit, the moment it happens.
  • When something goes wrong once, the AI writes it down as a rule, so it can avoid the same mistake.

WRITTEN IN

keegan-design/SKILL.md

settings.json · hooks

THE REBUILT DASHBOARD · PRESS GANEY, RUNNING IN THE CASE PAGE

02

The code workflow

Nothing gets built until what it could break is written down.

  • Every change states what it could break before it’s written, and how we’d catch it.
  • Each task goes to the right tool, so big jobs get deep attention and small jobs stay fast.

WRITTEN IN

keegan-code/SKILL.md

CLAUDE.md · routing table

THE PRODUCT ITSELF · STEMWISE, BUILT THROUGH THIS WORKFLOW

(WHERE THE SYSTEM CAUGHT ITSELF)

The mistakes it caught, and the rules they became.

None of these reached a person. The workflow flagged each one on the edit that made it, and the fix was already in before anyone opened the page.

  1. 2026-09-01DESIGN-LEARNINGS.md

    A resize pass grew the headings, and the diagram under them collapsed to 49 pixels and clipped. Nothing spilled outside the section, so no existing check fired.

    THE RULE THAT CAME OUT OF IT

    In a module that must fit one screen, the artifact gets the floor and the text yields, never the reverse.

  2. 2026-09-01DESIGN-LEARNINGS.md

    A counter animated the wrong half of “1,636 messy names to 491 plants” and came to rest on a number that was never true.

    THE RULE THAT CAME OUT OF IT

    A counter animates only the quantity that is actually changing, and every resting number is a sourced fact.

  3. 2026-08-27CODE-LEARNINGS.md

    The check for a leaked password never matched DB_PASSWORD. The underscore made the ordinary form of the name invisible to it.

    THE RULE THAT CAME OUT OF IT

    Match the shape a value actually takes in a real file, not the word it is named after.

  4. 2026-08-26DESIGN-LEARNINGS.md

    A finished page painted first, then its own loading screen mounted on top and took it away.

    THE RULE THAT CAME OUT OF IT

    An entrance cover ships inside the prerendered page, or there is no cover.

  5. 2026-08-26CODE-LEARNINGS.md

    A wildcard sitting in the secret scanner’s own skip list let a file named secrets.lock walk straight through the gate.

    THE RULE THAT CAME OUT OF IT

    An exemption is an exact known name, never a pattern.

  6. 2026-08-23DESIGN-LEARNINGS.md

    Rolling digits let two different numbers be readable in the same instant, so the screen flashed a figure that was never true.

    THE RULE THAT CAME OUT OF IT

    Never let the outgoing and incoming digits of different targets be readable at once.

PRESS GANEY · DESIGN HUDDLE

DESIGN LESSONS DETERMINED BY A PERSON

On a self-exploration page the designers and I liked the type small. The director of UX showed me what that cost: reviewers reading on a critique clock missed features that were already built, and asked for them.

THE RULE THAT CAME OUT OF IT

Anything a reader has to explore under time pressure gets larger type and obvious importance. Type size is the first thing I check.

No system caught this one. A person did, in a review room, before any of this existed. It is a written rule now, and the workflow above is what enforces it on every page I build.

(CODING WITH AI FOR STEMWISE)

Proving the system on a real product.

The same workflows that check all my builds, delivered a full working product.

WHAT'S THE PRODUCT?

Stemwise: an AI-built SaaS platform helping people manage rare plant businesses. Running inventory, purchasing and sales for 20+ businesses today.

STEMWISE · 1,636 aliases → 491 plants

THE SHIPPED DASHBOARD · STEMWISE

The database underneath that screen, and the codebase around it, both drawn from what is actually running.

01

THE DATABASE

Every dot is a table in Stemwise’s database. Lines show which tables reference each other. Bigger dots carry more of the system.

STEMWISE · 51 TABLES · 92 FUNCTIONS · 85 ACCESS RULES, VERIFIED AGAINST THE LIVE DATABASE 2026-08-31 · 72 FOREIGN-KEY EDGES, COUNTED 2026-08-27

02

THE CODEBASE

Every dot is a part of Stemwise’s codebase. Lines show which parts use each other.

STEMWISE · 24 MODULES, 99 CROSS-MODULE IMPORT EDGES · REAL REPO, COUNTED 2026-08-27 · 211 SOURCE FILES · 147 COMPONENT FILES · 19 PAGES · COUNTED 2026-08-27

Read the full case study