---
title: "AI Gave Me Speed. Tests Gave Me Control."
description: "I ran /insights after a month with Claude Code in a side project. The numbers I expected weren't the interesting ones. Here's what was."
date: 2026-04-27
reviewed: 2026-05-14
status: "Still reflects my workflow"
url: https://valdemird.com/blog/tests-gave-me-control/
lang: en
tags: ["ai-tools", "testing", "developer-workflow", "claude-code"]
---

# AI Gave Me Speed. Tests Gave Me Control.

> I ran /insights after a month with Claude Code in a side project. The numbers I expected weren't the interesting ones. Here's what was.

I built a side project this past month. A small calendar/PWA, a personal sandbox to learn Next.js patterns I don't get to use at work. Outside hours, no consulting overlap, just a place to break things on purpose.

At the end of the month I ran `/insights` in Claude Code to see how I'd been working.

Without the loop, you're asking your gut whether AI got it right. On a one-line tweak, sure, your eyes catch it. On a multi-file refactor, your gut didn't read the full diff.

## Spec First, Code Second

The other thing `/insights` made obvious: features I started with a written spec ended cleaner than features I improvised in chat.

A spec doesn't need to be long. Goals, non-goals, edge cases, a test plan, an acceptance checklist. Maybe a paragraph each. The point isn't the document. The point is that you've made the decisions before the model has to guess them.

When I improvised, AI guessed. Sometimes well, sometimes badly. The bad guesses showed up as the ten-round iterations.

When I specced, AI executed. The first draft was usually 80% there. The remaining 20% was real engineering, not prompt archaeology.

Here's what one of my specs looks like, kept short on purpose. This one was for recurring calendar events:

- **Goal:** create recurring events (daily, weekly, monthly) that can be edited individually without breaking the series.
- **Non-goals:** full iCal RRULE support, timezone-based exceptions.
- **Edge cases:** event falling on a DST switch, deleted instance vs. deleted series, "edit this and following" semantics.
- **Test plan:** unit tests for instance generation, E2E for editing a single occurrence.
- **Acceptance:** create a weekly series, edit Thursday's instance, confirm the others stay intact.

One screen of bullets. The model stops guessing and starts executing.

## What I'm Not Going to Tell You

I'm not going to tell you AI makes you a better engineer. I don't know if it does. The data I have is on me, in one project, over one month.

What I can tell you is what changed for me. The cost of starting something dropped. The cost of validating it went up. Tests are how I paid the second cost without giving up the first.

They catch what I thought to check for. The bugs I never anticipated still ship. AI-assisted work shifts the territory under your feet faster than your test plan shifts with it. That gap is real. Tests narrow it; they don't close it.

If you're working with AI without tests, you're operating on faith. Maybe it's working out for you. Or maybe you just haven't found the regression yet. The honest answer is I don't know which one you are, and neither do you.

That's the part `/insights` wouldn't let me hide from.
