My Journey with AI

The Summer Experiment

The App: Team management tool to replace the many Excel ‘people planning model’ spreadsheets I think all CTOs have.

Last year: Built with Cloudflare Workers / Hono / HTMX / Neon database. More about experimenting with the tech stack than solving the problem. Got “quite far, but not far enough for it to replace Excel.”

This year: Same app, but I put myself fully into the hands of Claude Code Max Plan, and rebuilt it as using React / Tailwind for the FE.

The Mission: Push as far as I could in as short a time possible. See what agentic AI can really do in the hands of an experienced engineer who knows what they want.

The Live Result

The Results

25-30 hours total. Built more complex product features than I’d ever built in that timeframe in my entire career.

“Even when I was 21 years old coding every hour I could in my first startup!”

My next experiment: Drizzle Cube

Link: https://github.com/cliftonc/drizzle-cube

The Results

This summer I have built more complex product features than I’ve ever built in that timeframe in my entire career.

Things I could envisage (esp. front end) but not build in any reasonable time scale become possible.

“Even when I was 21 years old coding every hour I could in my first startup!”

But Wait… “It’s Just Vibe Coding”

Common reactions:

  • “It’s a toy, good for prototypes”
  • “Vibe coders who don’t care about the mess”
  • “I could have done it faster myself”

Google’s definition: “giving in to the vibes” and letting LLMs handle technical details for throwaway projects.

My experience: Completely different.

Guide Coding, Not Vibe Coding

I never “gave into the vibes.” Instead: methodical, systematic practice to explore what worked.

Key insight: These tools are powerful, but you don’t get the best by giving into vibes. You have to actively guide them.

Guard Rails & Clear Boundaries

AI tools are like humans - they like things well documented, consistent, discoverable.

The investment:

  • Generate multiple agents.md files - across your codebase.
  • Root folder: how to run tests, start service, tech stack
  • Frontend folder: React patterns, how to add new pages, component patterns, hooks, providers etc
  • API folder: how to add new routes, how the database is managed, how to run migrations

If you don’t document architectural intent, how can anyone (AI or otherwise) discover it?

Start with a Plan

Claude Code defaults to: “Use Opus to plan, then Sonnet to execute.”

TL;DR: Use it.

Example prompt for major refactor:

“I have a major problem. The query engine has fan-out when joining cubes. Need to detect and pre-aggregate. Review implementation, write recommendations to docs folder for junior engineer to execute.”

Result: Detailed implementation plan in markdown.

Clear Your Session

Critical step: After planning, /clear your session.

Seems counterintuitive, but with too much context the quality drops. The plan is written in phases - you’ll clear after every phase.

Why: Too much context → compaction events → lower quality output.

Phased Execution + The Magic of ESC

Switch to edit mode, simple prompt:

“There’s a plan in /docs/plan.md. Execute phase 1. Create branch first.”

Key: Finger hovering over ESC key. Watch the CLI in real-time.

When it diverges → ESC → “The file is in /src/server/query-planner.ts”

Short, sharp, direct interventions. You’re actively steering.

Beyond Individual Productivity

This isn’t just about coding faster. It’s about rethinking how product teams work and how we can accelerate our adoption of SVPG.

The bottleneck shift: Engineering isn’t the constraint anymore. It’s discovery, alignment, validation.

With AI: Weeks of discovery → Hours/days to build.

The Paradigm Shift

Traditional: “How might we solve this?” (convergent thinking)

SVPG: “Which of these solutions best solves the customer problem?” (divergent execution)

Build multiple working solutions rapidly, then validate with real so ftware, not prototypes.

The Requirements

This isn’t magic. You need strong foundations:

  • Strong design systems: Components, patterns
  • Golden path modules: Auth, database, observability
  • Consistent stack: TypeScript + React (choices that AI understand well)
  • CI/CD: Automated, safe deployments
  • Clear patterns: Architectural guard rails

What I Believe Now

With proper guard rails, there’s can be no difference between AI-generated code (guided properly) and the output of an engineer, and the impact increase from one [engineer | designer | product manager] is dramatically multiplied.

The Journey Continues

Next: Exploring how this can work in the real world - an experiment with the Instruction Team.