I’m feeling the edges of burnout creep in, and having gone through that before, I’m pulling the brakes on anything that is neither immediately useful nor satisfactory.
To begin with, I’ve decided to take it a lot slower with piclaw. I’ve been a bit frustrated for a while about the overhead of maintaining it while pi upstream churns through three releases a week, but most importantly, maintaining it burns through credits I need for other things, so I’m calling it “stable” and moving to a monthly release cadence.
Too Much Pi
In practice, I’m stepping off the harness rat race since however exciting it is, and no matter how many nice tailored features I have, I also have the maintenance overhead that comes with addressing any of them.
But I also think there is a lot more to be done regarding AI and agents. Just not in the code-editor-cum-harness space, which is over-saturated, nor in the consumer space, which is just bonkers insane if you take Claude, Meta’s Muse and OpenAI’s Dots announcements as any indication of how far down the “let’s monetize agents” rabbit hole companies are sliding into.
I am also stopping work on rs-ai and swift-ai, as well as a bunch of other things I’ve been doing that were minor reinventions of the wheel, and taking a hard look at what I actually need right now.
Re-Focusing
In a parody of Maslow’s Hierarchy of Needs, I’ve broken down what I need into three categories:
- I need to have a decent way to write, take notes and express myself
- I need to have a cross-platform, cloud-ready coding environment
- I need to have a personal agent I control (but that can manage infrastructure and automate things, increasingly hardware-related).
A way to write. A coding environment. A personal agent.
Can you see it yet?
Unlike Steve Jobs’ famous tirade, these are not the same thing. I thought it made sense to turn piclaw into that one thing, but I think there’s a reason why people both like Swiss Army knives and yet get specialised tools.
A Way To Write
First, writing. I need to do it every day to preserve my sanity, and it needs to be as frictionless as possible.
Over the past two or three weeks, I’ve been using Writing Workshop to manage all of my drafts, for three reasons:
- I wanted to stop futzing about with Obsidian and using SyncThing for syncing vaults, since the writing experience on the Lenovo Chromebook was physically excellent.
- I could access it from literally anywhere with a browser.
- I really liked parts of the editorial suggestions I was getting from Writing Workshop: the annotations, the sidebar, the fact that it made zero attempts at rewriting my text, etc.
But maintaining what was turning out to be a ProseMirror wrapper (and there are much better takes on that, Dinkus being a phenomenal example of how to build a proper Markdown editor atop it), a dedicated storage back-end and a single-purpose pi-durable agent doesn’t make an iota of sense, and this effectively boils down to a few practical concerns:
- I have a love-hate relationship with Obsidian. Always have, always will, but the fact is that it works and is a known quantity.
- I don’t want to sync the entirety of my private Obsidian vault to my Windows machines (but I do want to pop in and do minor edits)
So I forked Markport (which lets me run Obsidian in a browser from anywhere) and fixed a bunch of little annoyances before adding a pi-durable agent inside it that can run the exact same skills as Writing Workshop (and much more).
I am also whipping bouncer into shape to proxy tunnels to it (because anywhere really has to be anywhere), but in the meantime I’m focusing on the agent UX inside Obsidian:
This works far better than it has any right to, and being based on pi-durable has a lot less exposure to upstream churn than building an entirely new agent.
I do suspect I will be going down the rabbit hole of writing a highly custom Obsidian plugin, but right now my writing workflow stays more or less the same, except that the revision process goes (temporarily) back to the agent adding editorial block quotes to the text instead of highlights (and a bit less of them, too, now that I’ve learned what was useful feedback from Writing Workshop).
A Coding Environment
I was really excited when I came across Agents In The Cloud, because it does some of what I have been trying to get to with agentbox, webterm and piclaw very, very neatly:
- It supports containerised sandboxes
- It has an absolutely killer web experience (at least on desktop) that not only includes embedded VS Code (something I stopped short of doing in
piclaw) but also has a very nice, usable layout for desktop use that is arguably better than mine for using, well, things like VS Code inside it. - It makes it easy to bootstrap new workspaces from templates
- Serendipitously, it ships very usable speech-to-text using the very same Nemotron model I have been optimising for Intel iGPUs over the past week or so.
However, it lacks a few critical features that I need; some that I baked in to piclaw from the start, and some that I think are essential to managing it sanely:
- A keychain (there are now shared workspace secrets since I raised that issue)
- A plug-in/extension mechanism
- Support for ARM builds
- Support for hosts that don’t have EROFS enabled in the kernel (I added support for that in
pve-microvm, but I can`t add support for it on many prebuilt ARM kernels, so cross-platform work is completely out the window) - A management API with things like workspace management, token revocation and the like (
sshto the host to manage it is not good enough) - Better networking
The huge blocker for me right now is that it was designed for a single developer working on a single box remotely, consuming only public services, and it shows: it defaults to being accessed via Tailscale and letting sandboxes access the Internet, but I can’t reach Gitea on my LAN or any of my private MCP servers, which makes doing serious work on it a non-starter for me.
Since the maintainer is still trying to figure out how to accept contributions, I decided to fork it and invest a little bit of my time in baking in some essentials:
- A
draw.ioeditor/previewer (because I can’t really design anything if I can’t diagram it) - A first cut of a management API that aligns with how I manage Proxmox, Portainer, Azure services and even KVM hardware now
- A way for me to have my own dedicated upgrade channel (for both the ARM containers and my customisations)
I called the result kintsugi (look up the philosophy if you’re not familiar with it) and will be tweaking it just enough until I figure out if it fits my workflow and if there is a way I can contribute to the original project, which I think is a thing of beauty in its own right, but still needs room to grow.
It’s not going to be a hard fork (I will contribute whatever I’m allowed to) and it’s also not going to replace piclaw, but if I manage to sort out the networking issues this weekend it might significantly lessen both my token expenditure and my time investment in maintaining things like the recent code review extension I built for piclaw.
A Personal Agent
This is the trickiest bit. piclaw is very much the one thing I work in everywhere (including a version I use at work, integrating with Copilot/Cowork and all the other $DAYJOB paraphernalia), and, again, I don’t intend to replace it.
I do need to let the agentic rat race settle a bit and figure out how to maintain it sanely instead of trying to keep up with Earendil’s breakneck pace of releases, and, above all, use it instead of burning tokens on it–hence the immediate move to end-of-month releases unless there’s a hotfix/bug I need to get out.
But I do think I need to evaluate ways out of the churn (and if you’ve read any of the Expanse books, you’ll know “churn” is a pretty loaded word).
So I’ve been looking at other agents, and leveraging them as much as I can:
- This doesn’t really break my disclaimer, I think: I’ve been porting most of my work skills and some custom tools to M365 Copilot
- I’ve been using Codex a lot more on my Macs (it is the only exception to “absolutely no agents on my local machine” that I allow)
- I’ve started investing a bit more time on
gi.
This last bit is relevant because I need a portable pi flavour that isn’t based in TypeScript and yet can provide a TUI and web UI within a hair of the basics that pi and piclaw currently deliver, both because I want to have some control over my tooling and because nothing else out there fits.
In particular, I need something more RAM-efficient than pi that will run anywhere (including RISC-V), and since I also miss doing LISP, using go-joker as a runtime for extensions is something I want to try–especially now it can now compile a few more things to native code via WASM, and even do FFI to SDL.
But I just found out PiG is a thing, so I will probably have to reassess that in a few months.
Either way, piclaw will keep being the thing I rely on for keeping all of my other stuff together, including kintsugi until it can deploy itself reliably.
And for that, I’ve also started changing my model choices a bit to save on tokens. I’ve been relying on gpt-6.1-sol for most of my coding and gpt-6-luna for everything else (terra is both not smart enough and too expensive as a default), but I’ve actually disabled both Astra and Opus and keep exploring cheaper alternatives.
You don’t need to burn money, patience and time (and by time I actually mean lifetime) to use AI productively, you just have to have common sense…