anyskintech

How we work · November 2026

CAPTCHA

A CAPTCHA tells computers and humans apart. So does the way we build AnySkin.

7 min read·The AnySkin team

I'm a human

Tick the box if you have opinions about how things should feel.

Humans · Agents · Apartv2026

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.

1.7

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

SprintsEstimatesStory pointsBacklogsStand-upsSpecs in ticketsDeadlinesFeedback rounds

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.