DEV Community

Charlie
Charlie

Posted on • Originally published at charlieseay.com

Closing the Gap: How a Mac Mini and AI Reignited 20 Years of Ideas

I turned 40-something today. I'm not going to tell you the exact number because it doesn't matter and also because I'm a little bit in denial. What I will tell you is that I've been carrying a notebook — sometimes physical, sometimes digital, always somewhere — full of ideas for the better part of 20 years.

App concepts. Business plans. Side projects. Systems I wanted to build. Problems I knew how to solve but never had the runway to sit down and solve them.

The ideas were never the problem.

The gap

If you've worked in tech long enough, you know the gap. It's the space between knowing what to build and actually building it. Not because you're lazy — because the activation energy is enormous.

You want to build an iOS app? Great. Learn Swift. Learn SwiftUI. Learn Xcode's opinions about how your project should be structured. Set up certificates. Figure out StoreKit. That's before you write a single line of business logic.

You want to self-host something? Cool. Spin up a container. Configure a reverse proxy. Set up DNS. Wire up authentication. Debug the one nginx directive that's silently eating your auth headers. That's before anyone can actually use the thing.

Every idea came with a tax — hours of scaffolding, configuration, and yak-shaving before you got to the part that mattered. And when you're working a full-time job, raising a family, and trying to maintain some semblance of a life outside of a terminal, that tax is a dealbreaker.

So the notebook grew. And the projects didn't.

What changed

Three things converged in the last year, and I don't think any one of them works without the others.

1. The Mac Mini became a lab

I've always had a home machine. But the M4 Pro Mac Mini hit a sweet spot I hadn't seen before: enough power to run Docker stacks, enough storage to host media, enough headroom to experiment with local AI models — and it runs 24/7 at barely a whisper on the power bill.

It's not a server rack. It's a $1,600 box on a shelf that runs my entire infrastructure. Plex, Radarr, Sonarr, a reverse proxy, SSO, a dashboard, a self-assessment platform, a portfolio site, and a kids' reading app — all on one machine, all containerized, all accessible from anywhere through a Cloudflare Tunnel.

The barrier to deploying something went from "figure out hosting" to "write a compose file and add a proxy host." That matters more than it sounds.

2. Obsidian became the operating system for ideas

I'd tried every note-taking system. Notion. OneNote. Apple Notes. Google Docs. Plain text files in a folder called "notes" that I'd forget about in six months.

Obsidian stuck because it works the way my brain works: everything is a file, everything links to everything else, and the structure emerges from the connections rather than being imposed upfront. My vault isn't a notebook — it's a knowledge graph. Projects link to research. Research links to ideas. Ideas link to technical specs. Specs link to build logs.

When I sit down to work on something, the context is already there. I'm not starting from scratch — I'm continuing a thread.

3. AI became a co-builder

This is the one that closed the gap.

I'm not talking about asking ChatGPT to write a README. I'm talking about AI as a development partner — something that can hold context across an entire project, scaffold code in languages I'm still learning, debug infrastructure issues by reading logs and configs, and maintain documentation as we go.

The workflow looks like this: I describe what I want to build. We plan it together — phased, with verification steps, with a tech spec that lives in the vault. Then we build it, phase by phase. When a phase is done, we test it, document it, and checkpoint it to Git.

I built a complete iOS app — from concept to TestFlight — in a few weeks. Not because AI wrote it for me, but because AI handled the parts that used to stop me cold: the Swift syntax I didn't know yet, the StoreKit integration I'd never done, the Xcode build errors that would have cost me a weekend of Stack Overflow.

The ideas in my notebook finally had a way to become real things. Not prototypes. Not half-finished repos. Deployed, running, usable things.

What I've shipped

In the last month alone:

  • This site — the portfolio and blog you're reading right now. Astro, self-hosted, public.
  • A learning platform — a self-hosted tool for reviewing and sharpening technical skills. Quiz engine, learning tracks, certification mapping.
  • An iOS app — a native app built in SwiftUI, from first line of code to TestFlight, in a language I was still learning when I started.
  • The infrastructure itself — the home lab that runs all of it: Docker stacks, reverse proxy, SSO, dashboard, DNS routing, IaC. All documented, all containerized.

None of these are finished. All of them are real. That's the difference.

The execution stack

If you're curious about the actual tooling:

Layer What Why
Hardware Mac Mini M4 Pro, 24GB, 1TB NVMe Silent, powerful, always on
Notes Obsidian vault (iCloud-synced) Knowledge graph, not a notebook
Containers Docker Desktop + Portainer Everything runs in containers
Routing Cloudflare Tunnel + Nginx Proxy Manager Zero open ports, public access
Auth Authentik Self-hosted SSO, Google OAuth
AI Claude Code + Gemini Planning, building, documenting
Version control Git + /checkpoint Every session ends with a commit
Sites Astro (static) Fast, content-driven, simple

The key insight isn't any single tool. It's that the entire pipeline — from idea to deployed product — now fits on one machine and moves fast enough to keep up with the rate I generate ideas.

What I actually learned

Twenty years of carrying ideas around taught me something I didn't expect: the ideas don't expire. The iOS app I'm building now started as a scribble in a notebook years ago. The self-assessment platform came from a conversation about certification prep that I'd been thinking about for months.

What expires is motivation. And motivation dies when the distance between "I have an idea" and "I have a working thing" is measured in months instead of days.

The gap was never talent or imagination or time management. The gap was tooling. The cost of turning a thought into a running application was simply too high for someone with a day job and a life.

That cost just dropped by an order of magnitude.

What's next

The notebook isn't empty yet. There are still ideas in there — some good, some terrible, some I won't know until I build them. But the backlog is moving now, and the system that moves it is documented, repeatable, and improving.

I'm not writing this to sell you on AI or home labs or Obsidian. I'm writing it because if you're someone who's been carrying ideas around for years — if you've got a graveyard of half-started repos and abandoned side projects — the execution gap is smaller than it's ever been.

The tools exist. The hardware is affordable. The AI is good enough to be a real partner, not just a fancy autocomplete.

The only thing left is to start.


Originally published at charlieseay.com

Top comments (0)