The last couple of months in software have been genuinely mind-bending. The read, which my workflow is changing, is getting seemingly faster and faster, while allowing me to simultaneously build more and more custom workflows that are easier to maintain.


External Image

The last couple of months in software have been genuinely mind-bending. The rate at which my workflow is changing seems to be accelerating, while simultaneously letting me build more custom tools that are easier to maintain. But the shift I keep coming back to isn't just about what AI can do now, it's about what it makes viable for a single person to build and sustain alone.

I want to be precise about what that looks like in practice, because I keep reaching for "homelab" and it doesn't fit. This isn't self-hosting in the traditional sense. The best frame I have is: local software, externally powered cognition. The compute and storage live on my hardware. The intelligence is rented from a provider I trust and which will become local as model compression improves.

The physical setup:

LayerWhatWhy
StorageMac Mini + Thunderbolt external drive (several TB)Everything local, nothing precious
NetworkTailscale peer-to-peer VPNPhone reaches the Mac from anywhere
ServermacOS built-in Apache → local sites folderBeen in every Mac for decades, almost nobody uses it
BuilderClaude Code via Dispatch → same folderThe whole thing lives in one directory
ModelAnthropic APIThe only external dependency

What this unlocks is something I'd been chasing for a while: real integration between tools like Obsidian and Readwise that I could never get from third-party products doing pieces of it. All those disconnected services were each doing some of what I wanted. Building my own stack meant I could finally pull them together in the way my brain actually expects them to connect.

assets/gndclouds-2026-04-09-08.19.38-Finder@2x.png


Starting With a Design System

My designer brain kicked in before I wrote a single line of tool code. I needed a shared design language first otherwise every tool would drift.

I built a design.md as the canonical reference, influenced by a framework floating around Twitter for generating components from a JSON token structure. The main sites folder is essentially a searchable directory of everything I've built, exposed as a local file tree over Apache.

The principles I baked in from the start:

  • Minimal chrome, no decorative elements
  • Screen-reader optimized, dyslexia-friendly typography
  • Light and dark mode that actually works
  • Optimized for my reading and listening patterns, not an archetype to fit the masses

assets/gndclouds-2026-04-09-08.21.47-Obsidian@2x.png


First Tool

The first real tool I built was embarrassingly simple. That felt right.

Blurring a section of video is surprisingly fiddly in every standard tool. I didn't want to open Final Cut for a 30-second fix. So I asked Claude to build something called FFmpeg locally and did exactly that. It took about two minutes to build and 30 seconds to use, and it validated the entire design framework in the process. The constraints I'd set were tight enough to produce something that felt coherent without dictating every detail. That was the moment I thought: okay, let's try something harder.

assets/gndclouds-2026-04-09-08.34.56-Arc.gif


The Bigger Project: Tools for How I Actually Think

After that first tool worked, I started thinking about what else sits in that uncanny valley not tools that are bad, but tools that work by forcing me into a framework that isn't quite mine. Commercial tools make assumptions about how you should organize, consume, and retrieve information. Those assumptions are often reasonable. They're just not always aligned with how I think.

The clearest example was my reading workflow. I've used Readwise for years, and I genuinely love it as a product. But the Obsidian sync never did what I actually wanted, and I was never willing to fight their API to make it happen. More than that: I'm dyslexic, and I consume most content by listening to it. The tooling I wanted would need to be audio-first in a way that no existing product is.

So I asked: what would it take to build my own version from scratch?

Here's the list I started with:

  • Any format in, Markdown out PDFs, YouTube, audiobooks, articles all abstracted into something I can pass to a model
  • Audio-first reading text read aloud to me, audio file stored so I'm not regenerating it every time I come back
  • Inline highlighting while listening hold to mark what's being read, attach a note, see it on screen simultaneously
  • Deep citation linking authors, linked assets, referenced pages downloaded and attached to the article itself. The internet is shockingly impermanent. Wilson Miner said something about this in his 2011 Build talk "When We Build" a talk I recently found had been deleted from its original host. I'd been archiving media like this for years out of exactly that fear.
  • Linked knowledge spaces the thing Obsidian does well, applied to everything I consume, not just what I write

The extraction isn't perfect yet file format edge cases, mostly a debugging problem rather than an architectural one. But it's functional enough that I've already migrated my full library of PDFs and research papers into it. I'm a little sad to be moving away from Readwise. But what I'm building is a tool for how I think, not a tool for how someone else thought I should think. That distinction is starting to matter a lot to me.


The Workflow That's Emerged

Once both tools existed, a repeatable loop showed up on its own:

  1. Describe the tool in Dispatch Claude references the design system, the folder structure, and the patterns from everything already built
  2. Claude Code builds a first pass, running locally on the Mac
  3. Load on my phone via Tailscale no deployment, no staging, just the file on the machine
  4. Annotate and sketch take a screenshot, draw the revised UI directly over it, pass it back to Claude
  5. Iterate Claude builds against the sketch, constrained by the existing design framework

That fourth step keeps catching me off guard. Sketching a UI over a screenshot and having it built against a real system that's not a prototyping workflow anymore. That's just how I make software now.


What's Next: Keeping It Local

Tools like Exo and Ollama are making it increasingly viable to run smaller models on-device for focused tasks summarization, classification, matching an article to a category. These don't need frontier-scale intelligence. A well-scoped small model running on the Mac handles them fine, and the classification system I'm using to tag items in the library is the obvious next candidate for that migration.

Beyond the privacy benefits, there's a climate angle I keep coming back to. Every call to an external LLM in some data center has a footprint. If I can keep the routine, repetitive inference local and only reach out for the genuinely complex stuff, I lower that impact. That matters to me.

The practical constraint is making sure Claude Code always knows the state of the machine available memory, open ports, what's running. So I've added a system architecture skill: a reference file that updates periodically and gives any model a current picture of the device it's working with.

At a certain point, the only thing I can't run myself is the frontier model. And even that feels more negotiable than it did six months ago.


What This Actually Means

All of this happened in two days of light tinkering. Writing this took longer than building any of the tools.

I've been thinking a lot about what that means for the future of software I wrote some of it out in Design Isn't Dying. It's Developing. The short version: I don't think beautifully crafted products built for many people are going away. There's still profound value in that. But the space of personal software tools that do exactly what you need, in exactly the way you think has cracked open in a way that changes the calculus. A year ago this was theoretically possible for someone with a lot of time and the right technical background. Now it's an afternoon.

When organizations define the shape of our tools, they quietly define the shape of our workflows, and our thinking. I didn't fully feel that until I started filling those gaps myself with things that fit how my mind actually works.

That's a different kind of freedom than I expected to have in 2026.

References

Links: