By Joel Dare - Written September 3, 2026
Today I had a breakthrough.
I watched as a small web app materialized, automatically, from a free large language model (LLM) running on my laptop.
It started with some stray thoughts, which I wrote into a new GitHub issue, describing a test app I had in mind.
I labeled the issue with “gemma”.
My router (a shell script) noticed the label and made a call to Pi, the minimal coding agent.
Pi read my static instructions then connected to an LLM running locally.
But, I wasn’t excited yet.
This was the planning pass. I had designed it into the system. It’s default mode.
It’s easy for a local model to write prose so it didn’t surprise me when it returned with a well-written plan based on the stray thoughts I had aimlessly typed into the issue description.
The complete plan it had written looked good to me.
I labeled the issue again. This time I selected “gemma” and “project”.
Again, my router noticed the labels and made a call to Pi.
About five minutes later the model wrote a comment on the issue telling me a prototype was ready.
Honestly, I still didn’t think it was going to work. I doubted it would run, if it existed at all.
I opened the link and found a working web app exactly as the plan had described.
It was a tic-tac-toe game. The simplest example I could think of without being completely trivial.
The game wasn’t perfect. There were only two rows of three squares for X’s and O’s. I needed a 3x3 grid. But I quickly realized this was a typo in my original request, not an error the model had made. I had asked for a 3x2 grid.
I added a comment to the GitHub issue outlining several changes, including fixing the grid.
I labeled the issue as “gemma” and “project” and watched as it picked it up again, made my changes, and then commented that the new prototype was ready.

The Dark Factory Series
- Creating a Minimal Dark Factory
- My Dark Factory Software Stack
- Building a Set of Rules for My Dark Software Factory
- Automating a Claude Skill
- A Local Open-Weight Model Builds Its First Web App from a GitHub Issue
JoelDare.com © Dare Companies Dotcom LLC