Your requirements live in a chat window
Six rules from fifteen real OpenSpec changes for writing project docs an agent can't misread, including the one that says a proposal is allowed to fail.
Mobile Engineer · Slovakia
Nine years of Swift, mostly on apps people can’t really avoid using. Health insurance. Pharmacies. An identity card you verify over Bluetooth. E-commerce for the biggest electronics chain in the country.
First releases are the easy part. Year three is when you find out whether anyone drew a line between the layers, and by then it’s your problem either way.
A good part of that work now goes through AI agents, and not the demo kind. Claude Code against a repository that was set up properly. Agents that review and refactor. The unglamorous ten minutes of configuration that decides whether any of it helps. Some days it saves me a full one. Some days it burns tokens producing confident nonsense, and I write that part down too.
Right now that means client work at Avenga, my own studio Groovio, and a few small apps I built because nobody else was going to.
An iOS app that writes a new story every night about the animals a parent and child once invented, and carries what happened in the last one into the next.
Six rules from fifteen real OpenSpec changes for writing project docs an agent can't misread, including the one that says a proposal is allowed to fail.
Two Claude Code hooks that block bad Swift before it ships, the exit-code contract behind them, and a subshell bug that let one through anyway.
I taught prompt writing twice, then measured where the gain was. Three techniques survived agentic work; the rest was decoration.

A dense one-page reference for Claude Code: slash commands, hooks, permission modes, shortcuts, MCP, subagents and CLI flags.

A commitment device for deep work — declare one sentence of intent, silence the noise, then answer honestly when the block ends.

A native iOS and iPadOS workspace for saving, templating and analysing prompts, with iCloud sync and image pairings.