Hey everyone, I keep asking myself how to actually automate end-to-end development with AI. Neetcode mentioned that most people are being pretty secretive about how they actually ship with their loops: https://www.youtube.com/watch?v=xhIQ-ijUmB4
As my tools have gotten better (along with my own learning), I'm now shipping over 100 (quality) PRs per day across my repos and different orgs, and i'd like to share how I actually do it.
TLDR version
- Set up a looping flow with pre-defined prompts
- Tell the agents in that flow to file any issues, ideas, etc. they spot in the apt place
- Categorise those to decide whether they're actually worth doing
- Set up a cron job that automatically starts the flow again
- Cycle.
Data is key
For me, I've built my own custom harness and do a form of 'CI at commit'. This means I have a bunch of AI reviewers, deterministic gates and a whole chain of reviews at commit level, so I can be somewhat certain the agents are doing a good job by the time the work is actually submitted for review. Everything within this chain I store – all of its telemetry. Every N ships I gather the latest telemetry, run X benchmarks and iterate on what I learn.
I do still have CodeRabbit etc. on top, but the number of comments I get per 1K LOC shipped has been slowly going down, irrespective of what model I use.
Looping
For me, I built a desktop app for exactly this. You build a flow as a graph of blocks (a trigger, then whatever steps you want) and it runs on your own machine.
1. Something kicks it off
Every flow starts from a trigger. Mine is a webhook, when a piece of work gets assigned to me in my me, the flow starts.
2. The graph:
Instead of one huge prompt, each step is its own block:
- Agent blocks with pre-defined prompts, so a specific agent does a specific job (plan, implement, test, etc.)
- Command blocks that run my scripts in my shell (not via the agent). If a script prints JSON, every key becomes a variable for the next step (
{{previous.count}}etc.) - Conditions to branch, approval steps where it stops and asks me, and for-each blocks to fan out over a list
- Custom nodes – little JS scripts that show up as their own blocks
3. Ship through the harness
When the work is 'done', the agent is told to ship it through my review harness. Agents also signal how they finished: done, blocked, needs input, partial- instead of just going quiet, so I know if it's actually finished or waiting on me.
4. File what it found
Last step: the agent is told to file a ticket for anything it spotted along the way. This is what keeps the loop fed.
5. Triage in a seperate flow
New tickets get picked up by a second flow. The noise gets binned and the real work gets routed to the right repo and assigned on my kanban board.
6. Cron closes the loop
Once tickets are ready, a cron job auto-assigns them to me, which fires the webhook from step 1, and the whole cycle starts again.
The Work Queue
All of this lands in one place: the Work Queue. If an agent gets stuck it parks in Needs Attention rather than failing silently, and if a step fails the flow can pause so I can retry or skip that one step instead of starting over.
The mobile app
everything gets also pinged to my mobile app – so I simply have to respond to agent's blocks instead of prompting my entire day's work.
I genuinely believe this is super handy, and unlike a lot of other AI tools out there (think Codex, Claude Code, T3 Code, Orca, etc.) the app's main focus is fine-tuned automation. It runs on your existing Claude Code or Codex login, and everything stays local on your machine.
After feedback I've removed account sign-in and made it completely open source under MIT… so check it out: https://github.com/benord-labs/frink
FYI:
- Linux + windows,
- Antigravity, grok, opencode,
- headless
All coming in a few days
https://www.reddit.com/gallery/1wyms7q
Source: r/vibecoding · by /u/smallroundcircle
