The method

Four things.
You sit in two of them.

You say what you want and judge what you see. The AI checks its own work and keeps everything up to date. Every example here comes from Rather, my daily puzzle app on iPhone, Android and the web.

You Runs on its own

Step 1 · You

Make your intentions clear.

What you're building, for whom, and what it must never do. One sentence from you rules out a whole kind of feature.

Three things I said about Rather, and what each became:

  • “No lives, no losing, no guilt.”Streaks stay, but read calmly: “4 days in a row”. Nothing is ever lost.
  • “Every puzzle is fair: exactly one solution.”Puzzles are made and checked on a Mac before they ship. The phone never makes one.
  • “What was played stays playable.”A published puzzle is never removed. At most it is hidden, and keeps its id.

Skills that do this: interview, brainstorm, plan

It lives in the repo, for every agent. Without it, the AI assumes, and drifts.
Step 2 · You

A picture says 1,000 words.

You don't read the code. You judge a picture like the one beside this, and decide.

What I asked

One line: “I want to see how many people use Rather.”

What came back

The AI read the intent first: nothing leaves the phone before a yes. A legal check added that in Germany even a cookieless ping before consent isn't allowed. So it drew the flow beside this, and put the hard call side by side: when to ask.

PickedPlay firstAsk after the first solve, never over a game.
Ask at first launchTracks installs from the first open, but blocks the first game.

What I decided

Players with an account are counted in Rather's own database: sign-ups, solves, who came back. That covers everyone, with no tracking. Players who say yes also show up in analytics, as summary numbers only.

What I accepted

With few players, the analytics tool hides small numbers. And there is no install count at first open. Both written down, so no one is surprised later.

Skills that do this: visual, design, brainstorm

The flow behind analytics in Rather, as a picture you judge in a minute.

The same round, every time

  1. YouDescribe“I want to see how many people use Rather.”
  2. AIExploreFinds the law allows nothing before a yes. Draws the options.
  3. YouSteerPlay first, ask later. Accounts count everyone.
  4. AIBuildThe consent sheet, the counts, the Today board, and their checks.
  5. YouCheckOpen the board: how many played today.
Step 3 · Runs on its own

Let AI check its work.

If the AI can't check its own work, you become its tester, all day. In Rather, every change passes its checks before you see it.

Only the checks for what changed run. Change the database, and the database checks run. Change the website, and only the website builds. So checks stay fast, and nothing that matters is skipped. The screenshot robot plays fixed puzzles and shoots the store images before a release.

3,900
app and game tests
733
database checks
12
server function test files

Fake parts stand in for the real ones, like the iPhone's app blocking, so every case runs without a phone in hand.

Skills that do this: verify, review, go

Each pull request runs only the checks for the parts it changed.
Step 4 · Runs on its own

Keep everything up to date.

Every decision is checked against your intention and the ones before. Old gives way to new, and says so.

You decide something, in any conversationThe AI checks: does it fit your intention and earlier decisions?
Fits, or small: it updates the docs itselfBig change: it asks you first

Skills that do this: hello, bye, review

  1. 15 Oct · replacedSix puzzles a day, sorted by length
  2. What changedPlayers and I found them too hard: “Six a day is too few, and four of them are hard.”
  3. 29 Oct · currentTen a day in four levels, seven freeNames the decision it replaces, so no agent follows the old one.
A real change in Rather. If the AI keeps doing what you don't want, something in the intention isn't true: fix it there.
Why this one

Not a pile of prompts. A whole app, start to finish.

Free runs every part of making an app, for any app. Pro adds the know-how for Flutter and Supabase.

  • Free the method, for any app
  • Pro adds Flutter and Supabase know-how
  • Product

    Asks about the problem, who it is for and what must never happen. Writes a plan you can read.

    In-app purchases, subscriptions and push notifications, done the safe way.

  • Design

    Picks a look with you, turns it into a design system, makes it usable by everyone.

    Screens that fit phone, tablet, desktop and web, with every state drawn.

  • Engineering

    Builds it, has a fresh AI review it, proves it runs.

    Flutter structure, state, offline or online data, tests and CI.

  • Security

    Secrets, sign-in, payments and personal data, thought through before building.

    Supabase access rules, sign-in with Apple, Google or an email link, secret scanning.

  • Brand and words

    A logo, an app icon and a brand board. The app's voice, store and website text.

    Store screenshots, made by the app itself.

  • Release

    Merges, deploys and publishes, one step at a time, each on your go.

    Betas and store releases on iOS, Android and macOS: signing, versions, review.

Pro is 15 packs and 470 rules, each loaded only when the work touches it. Some help any project: Supabase, security, CI, and the UI pack for websites. This site is built with three of them.

Coming

Hear first when buying opens

Pro, the expert audit and 1:1 sessions open soon. Leave your email and you'll know first.

Solid Vibes news, like when buying opens. Unsubscribe any time; never shared. Privacy

Check your inbox and click the link to confirm your spot.

Viktor Stojanov on a mountain top at sunset
Who's behind it

Viktor Stojanov. A real person, building real apps.

A head of engineering with 15+ years of building apps and the teams that make them. In Berlin, I run Stojanov Ventures, a small lab that builds its own apps: Rather, Runde and Activities Matter.

Solid Vibes is how I build them now, written down so you can build the same way.