I got Laid Off two weeks ago. I’ve never been more productive.
I’ve been around the block enough times that getting laid off isn’t all that devastating an event.
And the fact I’m not burnt out this time?
Huge.
I’ve jumped right back into the job search, and into a bunch of experiments.
Reflecting on the last two weeks, I’ve pushed a lot of code.
The AI Experiment
I lost my job to AI.
Not because I was replaced, but because it put significant pressure on the company business model.
Suffice to say I have mixed emotions about AI.
But damn, I’ve never written so much code in my life.
And I’m not talking garbage code, I’m talking code to the general quality I would have written, 80% faster than I would have written it.
The first experiment was to full vibe code: Maximum brain-rot, rotate IDE’s of Windsurf, Cursor, Copilot, really do the thing.
But, add the constraint of trying to write as high a quality of code as I was capable of. Find the efficient edge of quality/vibe.
The result is a Polygenic Risk Calculator.
Result: about where I’d end up if I did myself.
Just about 80% faster than I would have been able to do it myself.
Experiment 2: Custom Agents
So the thing about these fancy VSCode forks is that they have an agent mode attached.
The agent runs linter, searches directory, feeding results and requirements back and forth to an LLM.
The LLM has a train of thought like “I need to add logging to the cool() function, I need to find where the cool function is located → Let me read the contents of path/to/cool.go
→ Add log(’wow’) to line 234.”
With the Polygenic Risk Calculator, I learned how interact with the Cursor Agent to create reasonable code.
Step 2 is a custom agent.
So I setup a free Tailscale account to link all my devices (PC, laptop, phone) into a single network:
Then I setup an internal DNS server to manage internal.jerkytreats.dev
for any device in the network.
But because I can move really damn fast with vibe coding, and because this is a low impact/low complexity DNS manager, I can throw a Go API in front of it:
So now, my devices have a dns.internal.jerkytreats.dev
Moreover, I can POST add-record/
endpoint that can add a new record, like llm.internal.jerkytreats.dev
So now I have a tool. An agent is a set of tools and a planner to identify which tools to use to complete a workflow.
Now we’re getting to some interesting stuff.
Because I’ve been wanting to build a Hierarchical Task Network for years.
So all I have to do is setup llm.internal.jerkytreats.dev
, then agent.internal.jerkytreats.dev
, then setup more atomic tasks like
- Create a new boilerplate golang/python/etc repo
- Setup a vector/sql/mongo database in the tailscale network
With each independent action, register this ability with the agent, and with a rich set of atomic abilities, start building out the agent to convert semantic workflow instructions into the tasks available.
So… yeah. I’m a bit down the rabbit hole, but the DNS thing took like 2 hours tops. If I can string enough 2 hour tasks into replicable tasks, I can chain them together into more complex workflows, making me even more efficient.
Or I drown in the maintenance of 30 separate vibe coded services all subtly broken in unique and infuriating ways.
Such is the experiment.