AnySkin is a small team building a skincare app. Most of our code is now written by AI agents. A developer talks to their agents, the agents build, test and ship, and the developer steers.
For a while we kept the process we knew: tickets with long specifications, questions in comment threads, a backlog that only grew. That process was made for a world where developer time is the scarce thing. In ours it isn't. What's scarce is human attention: deciding, judging, and feeling whether something is right.
So we stopped pretending and wrote down how we actually work. It happens to spell CAPTCHA.
days until half our issues were closed, out of 153 opened in one month. Speed was never our problem. The text around the work was: long tickets, open questions, issues nobody could close.
What we stopped doing
Most of agile rations developer time. Once an agent does the building, rationing it makes no sense. What we kept is what only people can do.
The seven letters
How we build now
Conversation is the workplace
The real work happens in the dialogue between a developer and their agents. That's where the specification forms, where ideas get tried and dropped. Nobody else has to read it.
What matters leaves the conversation as a pull request: what was decided, why, and how to roll it out. That's the only write-up.
Artifacts early
Before and while it builds, the agent shows what it's making: a screen, a flow, a diagram. It does this for its own developer, so the human understands early and can steer.
Code is almost as fast as a mockup. When a developer feels they're onto something, they skip the picture and go straight to running code.
Pointers, not specs
An issue says what should happen and whose it is. One line is enough. The how belongs in the conversation, the result in the pull request.
An issue that needs paragraphs is a conversation that hasn't happened yet.
Taste is human
Direction, "this feels good", "this feels wrong": always a person's call, and it needs no justification.
When something feels off, the agent's job is to find out why and offer something else. Not to argue.
Code beats consensus
No approval rounds, no waiting for a meeting. Building is cheaper than discussing, so when two people want different things, we can build both and look at them side by side.
Something that runs convinces more than any debate about it.
Hype is the only reason to share
Nobody has to show their work to anyone. People share because they're excited, because they made something they can't wait to show.
That excitement is the best signal we have that we're on the right track. When nobody wants to show anything for a while, that's a signal too.
Always stop at the irreversible
Almost everything can be undone, so almost everything just goes ahead. Three things wait for a person: a legal text, data that can't come back, and someone else's work.
Everything else ships, and gets fixed forward if it's wrong.
The part we keep
Emotions are what tell humans and computers apart.
An agent can write "great idea!", but nothing stands behind it. So our agents don't cheer. They state plainly what they built and what they found.
The feeling is ours: what excites us, what bothers us, and above all what the people using AnySkin feel when they open the app.
Still open
We just started. We don't know yet who should pick when two built versions compete: the person who built them, the team, or the people using the app. We'll write about what held up and what didn't.
Made by humans with feelings and agents without them.