A developer stopped writing his own backlog items and built a system to do it instead. Andy Widjaja, an independent software builder who blogs at andywidjaja.com, spent roughly $110 a month on a pipeline that reviews his GitHub issues, breaks the oversized ones into smaller pieces, writes the code, runs the tests, and opens a pull request, all before he wakes up. Of his last 40 merged pull requests, 27 came out of the pipeline without him touching an editor.
The setup, which Widjaja calls autoloop, runs on a Hostinger VPS with two virtual CPUs and 8GB of memory, priced at $9.99 a month, alongside a $100 Claude Max 5x subscription. Three systemd timers fire at midnight, 2 a.m., and 4 a.m. UTC. No orchestration framework, queue service, or dashboard sits underneath it. Widjaja describes the whole thing as one configuration file.
Two models split the labor. A triage pass, run on Sonnet, checks each issue for clarity, estimates its size, and sets a priority. The cost per run is about ten cents. If an issue is too large, the system recursively splits it into ordered sub-issues so dependencies land in the right sequence. An implementation pass, run on Opus and costing roughly $1.50 per issue, picks the highest-priority item that is ready, opens a branch, writes the code against the repository’s existing context, runs the linter and test suite, and files the pull request. Widjaja puts the blended cost at $1.61 per merged issue.
Failures get three retries with the error output fed back into the next attempt. An issue that still fails after that gets a “needs-human” label and stops moving through the pipeline automatically. Widjaja merges every pull request by hand from his phone, a deliberate checkpoint rather than an oversight.
The one hard boundary in the design is that the system cannot touch itself. The autoloop code and its configuration file are protected paths. Any issue that would change them routes straight to human review instead of the automated branch. Widjaja calls this “self-improvement without self-modification,” and it is the detail that separates the project from the looser claims made about fully autonomous coding agents over the past two years. A system that can rewrite its own supervision logic is a different risk profile than one that cannot, and Widjaja’s design forecloses that specific failure mode by policy rather than by hoping the model behaves.
The results come from one project: Patina, a Python codebase that now runs to 7,200 lines of application code backed by 9,200 lines of tests, built almost entirely through this loop. Those numbers are self-reported on Widjaja’s own blog, with no independent audit of the test coverage or code quality, and the claim applies to a single solo repository rather than a shared codebase with concurrent contributors.
Widjaja is direct about where the approach breaks down. He describes it as unsuited to “regulated environments, multi-team codebases” that need real rollback procedures and audit trails, and the entire model assumes one person is both the issue author and the final reviewer. His stated takeaway matters more than the dollar figure: “The bottleneck isn’t the model or the infrastructure. It’s the issue quality.” A vague issue produces a failed pull request regardless of which model wrote the code; a precise one with clear acceptance criteria tends to succeed.
That reframes what a $200-a-month coding-agent subscription is actually being tested against. Teams evaluating enterprise autonomous-coding platforms priced far above $110 a month should first check whether their own backlog is written with the specificity this pipeline requires, since the gating factor here was never subscription tier or compute budget.
Based on reporting from Andy Widjaja’s personal blog, andywidjaja.com, published July 14, 2026.