swaey writes the prompt your ai builder actually gets.

works with lovable, bolt, v0, replit, cursor, windsurf and claude code. free to start: 10 tries, no card.

ramble. it writes the spec.

you talk the way you think. swaey keeps every detail and every “don’t touch the payments code” word for word, fixes what it misheard (“super base” is supabase), and shapes it for the tool: lovable gets its supabase setup, replit keeps keys in secrets. then it adds what beginners don’t know to ask for: loading, empty and error states, each user seeing only their own data, payments confirmed by stripe’s webhook. too vague to build? it asks one question first.

what you said
ok so like a habit tracker, um, where i add habits and tick them off every day, and it shows my streaks. oh and dark mode. and it has to work on my phone.

swaey asks first

does anyone else sign in, or is it just for you?
just mefriends too
lovable · new project
## What I'm building

Build a personal habit tracker where I can add habits, mark them complete each day, and see my streaks. It is for my own use; nobody else signs in.

## Who it's for

Just me.

## Pages and features

- Let me add habits and see my habit list.
- Let me mark each habit complete for the day.
- Show my current streak for each habit.
- Include dark mode.
- Make the app work well on my phone.

## Data

Save my habits, daily completions, and streak information so they persist between visits. Use Supabase for login and data (I'll connect it). Keep the app private to my account.

## Look and feel

Include a dark mode.

## Build first

Start with adding habits, daily check-offs, streaks, and dark mode in a mobile-friendly experience.

## Quality bar

- Include loading, empty, and error states for habit data.
- Make the app work on mobile (375 px) and desktop.
- Provide clear feedback if saving a habit or completion fails.
- Make labels, keyboard focus, and contrast accessible.

## Security

- Set up Supabase row-level security so only my account can see and change my habits and completions.
- Check access to my data on the server, not only by hiding interface elements.

Ask me if anything important is unclear.
✓ typed into lovable’s chat

break the fix-and-break loop.

“it’s still broken” is the most expensive prompt there is. say “fix this” and swaey finds the error that counts (the latest one, not the noise above it), quotes it exactly, and types a fix prompt into your agent’s chat that tells it to find the root cause, make the smallest change, and re-run to prove it’s gone. not to hide it behind a try/catch or by deleting the test.

fix thiswhy is this failing?what does this error mean?

Sorry, your app hit an error.

TypeError: Cannot read properties of undefined (reading 'map')
at HabitList (HabitList.tsx:42)

try againsay “fix this”
swaey
found it: habits is empty until the data loads, so .map fails on line 42. i’ve written the fix prompt and typed it into lovable.

“all fixed!” check before you believe it.

when an ai agent gets stuck, it takes shortcuts: it changes a test until it passes, skips it, hides the error in an empty catch, or fills the screen with made-up data. ask “can i trust what claude just did?” and swaey reads the change itself, points at the file and line of each shortcut, and offers to run your tests to prove it. want a second pair of eyes? a different ai reviews it too. and when your agent finishes while you’re away, swaey offers to check it before you look.

can i trust what it just did?check claude’s workget a second opinion
trust check · habit-tracker
  • a test now expects a different valuestreak.test.ts 18
  • a login test is now skippedlogin.test.ts 4
  • an error is swallowed by an empty catchapi.ts 20
  • made-up users in the habit listfake data
  • keys or secrets addednone

you said yes to the tests: 1 failing. the streak got 3 instead of the expected 4, so the bug is still there.

your agent asks. you answer from the couch.

claude code and codex stop to ask you things, and you only find out when you come back. swaey says it out loud, in plain words: a plan becomes a few short sentences and the one risk to watch, a choice comes with its options, and a command that can’t be undone gets a warning first. answer from wherever you are. swaey presses it in the right window and puts you back where you were. it never answers for you.

approveskip step 3the dark onenotell it to add a reset button

free on every plan. set it up once by saying “connect to my agents”.

swaey · claude code
claude code in habit-tracker has a plan. it will add a dark mode switch to settings, save your choice to your account, then remove the old theme file. one risk: removing the old theme file could affect existing styles. say approve, keep planning, or what to change.
skip step 3
swaey
told it: skip step 3.
swaey · codex
careful: this wipes database data. codex in habit-tracker wants to run: supabase db reset. say yes, always, or no.
no

your ai forgets. swaey makes it remember.

say “give this project memory.” swaey writes a project file your ai tools read every session (claude code, cursor, windsurf and anything that reads AGENTS.md) and sets them up to keep it current. switch chats, tools or accounts, and your app is still understood.

then say “make skills for my project.” swaey reads your code, what broke before and what you had to correct in past chats with claude, and writes skills only for what applies here: how to check a change, how to add a feature, your stack’s gotchas. a mistakes log catches repeats, and a repeat becomes a rule. it can even block a risky command every time, like wiping the database.

give this project memorymake skills for my projectcheck my claude setup
PROJECT-CONTEXT.md
# habit tracker: project context
the one place that says what this app is and what’s next.

## what it is
a phone-first habit tracker with streaks.

## decisions
- supabase for auth and data, row-level security on
- no paid apis

## built
- today screen, streak calendar, dark mode

## next
- reminders at 8 pm
.claude/skills
habit-tracker-verify
  pnpm test, then a phone check
habit-tracker-add-feature
  new screens go in app/(tabs)
habit-tracker-db-changes
  migration files only, rls on
habit-tracker-stack-gotchas
  dates are local, not utc
docs/MISTAKES.md
  1 repeat, now a rule

check it before you post the link.

ask “is my site ready to launch?” and swaey checks the live site the way an attacker and a search engine would: keys in your javascript, a database strangers can read (it asks first, then checks logged out and read-only), a public .env, a robots.txt still blocking google from development. it tells you what to fix first, then writes one prompt that fixes the lot.

is my site ready to launch?can anyone read my users’ data?
launch check · myhabits.app
  • secret keys in your javascript1 found
  • a database strangers can readprofiles, with emails
  • a public .env or .git foldernone
  • title, description & share imageno share image
  • robots.txt & sitemapok
  • a real 404 pagerandom pages say 200
  • broken linksnone
  • hsts, csp & frame protection2 missing

fix first: the stripe secret key is in main.js. anyone can read it. move it to the server and roll the key.

typing hurts? build anyway.

if rsi, an injury or a disability makes the keyboard hard, you can still build. say the idea and swaey writes the prompt and types it into lovable, bolt, cursor or claude code. say “fix this” when it breaks, “what did it just change?” when you’re not sure, and dictate into any app. hearing and speaking run on your mac.

a build session, hands-free
for lovable, a habit tracker with streaksa full prompt, typed into lovable’s chat
fix thisthe real error, quoted in a fix prompt
what did it just change?a plain-words walk through, with a diagram
commit ita save point you can go back to
is my site ready to launch?what to fix first, out loud

and every other place a build gets stuck.

after a change

“what did it just change?”

swaey walks through the change in plain words with a diagram: what each part does now, and anything you still have to do, like a migration to run or a new key to set.

“what did it just change?”
the look

“why does my app look like every other ai app?”

swaey names the giveaways (purple gradients, emoji as icons, glass on everything, a centred hero over three identical cards), rings each one on your screen, gives real values like 24 px between the cards, and writes the fixes as one prompt.

“why does my app look generic?”
save points

“one bad prompt ate my whole afternoon.”

say “commit it” after every step that works. swaey writes a clear message and saves it in git, and refuses if a .env file or a key is in it. next time the ai wrecks something, there’s a good version to go back to.

“commit it”
while you’re away

“it finished while i was making tea.”

when your agent finishes and you’re not at the terminal, swaey says so and offers to check its work before you look. if it made the same mistake again, swaey offers to add it to the project’s skills.

“yes, check it”
long waits

“the install has been running for ages.”

go and do something else. swaey watches the terminal and tells you when it finishes and whether it worked, in one plain sentence.

“tell me when the install is done”
hand it off

“i don’t want to sit and watch it code.”

name the agent and the job. claude code or codex works on it in the background, and swaey tells you when it’s done.

“tell claude code to add a login page”

questions vibe coders ask

do i need to know how to code?

no. you describe what you want out loud. swaey turns it into a prompt your builder understands, and explains errors and changes in plain words.

does it type into my tool by itself?

yes: into lovable, bolt or v0’s chat, cursor or windsurf’s ai chat, or claude code. it checks it’s in the right box first. if it can’t find one, it copies the prompt so you can paste it.

will my keys end up in a prompt?

no. prompts never include secrets, and the launch check finds keys that have already leaked into your site.

which tools does it work with?

lovable, bolt, v0, replit, cursor, windsurf, claude code and vs code. it shapes each prompt for the tool it’s going into.

is it free?

your first 10 tries are free, with no card, and alerts from claude code (its question read aloud, answered yes, always or no) are free forever. pro is $15 a month or $120 a year (your local price at checkout). cancel anytime.

just say it.

your next app starts with a sentence. swaey handles the prompt.

plans
free10 tries, no card, no account pro$15 a month for everyday use · cancel anytime maxabout 7× pro’s usage, for all-day use

macOS 15 or later on apple silicon. prices shown in your currency at checkout.