Writing
Notes from things I actually built.
Developer tools, strange prototypes, infrastructure, and the details that only show up after the idea meets the real world.
All writing
5 minute read
Hark / Agent workflows
Building Hark for Interactive iPhone Agent Workflows
How Hark grew from a webhook notification app into an open-source interface for agent replies, approvals, Live Activities, and remote workflows.
Hark · AI agents · iPhone automation
4 minute read
RoomPlan / Wi-Fi mapping
Mapping Wi-Fi Dead Zones with Apple RoomPlan
A RoomPlan prototype pairs a spatial scan of a house with Wi-Fi density and performance measurements to make dead zones visible where they happen.
Apple RoomPlan · Wi-Fi · Spatial computing
4 minute read
TeslaNav / Dashcam storage
TeslaNav Storage: A Web-Managed Tesla Dashcam USB
TeslaNav Storage is an open-source mini-computer that appears as USB storage to a Tesla while offering a web UI to browse, download, and export clips.
TeslaNav Storage · Tesla dashcam · Open-source hardware
4 minute read
Rebase / Stream synchronization
Synchronizing Livestream Questions Across Clients with Different Latency
How Rebase ties live trivia questions to stream position so viewers with different playback latency encounter each question at the intended moment.
Livestream synchronization · Rebase TV · Distributed systems
4 minute read
OpenCode / Bare metal
A Coding Agent Built a Bare-Metal Hackintosh Through JetKVM
GPT-5.6 Sol used OpenCode and JetKVM to produce a functional macOS Sequoia Hackintosh on physical hardware in four hours and twenty-two minutes.
OpenCode · JetKVM · Hackintosh
4 minute read
AI agents / developer tools
Why AI Agent Memory Needs a Repo-Local Stack Overflow
After an AI coding agent repeated the same Expo mistake, I realized agent memory needs searchable, repo-local answers instead of a growing scrapbook.
AI agent memory · coding agents · developer tools
4 minute read
Remote development / Clipboard images
How I Paste Clipboard Images into OpenCode over SSH and tmux
A practical workaround for moving a Mac clipboard image into OpenCode running inside a remote SSH and tmux session, using a shared file path.
OpenCode · SSH · tmux · macOS clipboard
5 minute read
Networking / iPhone hotspot
Connecting to an iPhone Hotspot Device with IPv6 and mDNS
An iPhone reached a web server on its own hotspot-connected device through IPv6 and mDNS, creating a useful local networking primitive for hardware projects.
iPhone hotspot · IPv6 · mDNS
5 minute read
Terminal games / Multiplayer
From bunx gametui to a Multiplayer Terminal Game Platform
A playable multiplayer TUI grew from one bunx command into an SSH lobby with multiple games, custom URLs, and a path for community-made games.
terminal UI · multiplayer games · OpenCode
5 minute read
AI websites / Sales experiment
The $500 AI Website Redesign Offer an Agency Accepted
I recreated a static agency site in four Opus 4.7 prompting attempts, offered the redesign for $500 plus hosting, and the agency accepted it.
AI website redesign · agency websites · productized services
4 minute read
Personal automation / Work journal
How I Turn Screen Recordings Into an Automatic Daily Work Journal
How I connect Coast screen recordings, OpenCode, and Hark to turn scattered work into a custom morning summary that I can revisit each morning.
screen recordings · OpenCode · Coast · Hark
4 minute read
Inbound / Email compatibility
Adding IMAP and SMTP to Inbound for Unlimited Email Mailboxes
How I made Inbound work with ordinary email clients through IMAP and SMTP, including sending, folders, archiving, and unlimited mailboxes at low cost.
IMAP · SMTP · Inbound · email infrastructure
4 minute read
OpenCode / Event-driven plugins
Building an OpenCode Plugin With Aircraft-Style GPWS Audio
I used OpenCode plugin event hooks to build a GPWS-style audio layer that makes an agent’s activity audible while it works in the terminal nearby.
OpenCode plugins · GPWS audio · coding agents · terminal interface
5 minute read
TeslaNav / Shutdown postmortem
Why TeslaNav Shut Down—and How I Brought It Back
TeslaNav lost its Waze API and faced a $1,500 monthly Mapbox bill. Four months later, I brought it back without external service dependencies.
TeslaNav · dependency risk · Mapbox costs · Waze for Tesla
4 minute read
anomaly.fm / Discord radio
How I Turned a Discord Voice Channel Into a 24/7 AI Radio Station
I connected an internal Discord voice channel to anomaly.fm, then added continuous YouTube and X streams with OpenCode acting as the hourly DJ.
Discord radio · AI DJ · OpenCode · anomaly.fm
5 minute read
macOS / live video
A macOS NDI Menu Bar Controller for My OBS Workflow
I built an Apple-silicon menu bar controller for NDI streams, then tested the workflow by recording 4K60 in OBS across a 10 Gb network at my desk.
macOS · NDI · OBS · Apple silicon
5 minute read
OpenCode / local server
Run One OpenCode Server for Every Terminal Client
OpenCode terminal clients can discover one running server automatically, while a global session route lets custom clients find work across directories.
OpenCode · terminal · developer tools · local server
5 minute read
AI experiments / rendering
Turning an iPhone and Mac Rendering App Into a Portable CLI
I used Kimi K3 to study an installed device-rendering app and produce a portable CLI, then compared its render output and speed on my machine.
Kimi K3 · CLI · device renders · AI coding
5 minute read
Linux / messaging
itui: Bringing an iMessage Experience to the Linux Terminal
I wanted iMessage while working on Linux, so I built itui and recorded a full two-minute demonstration of the cross-platform messaging experience.
itui · iMessage · Linux · terminal UI
5 minute read
OpenCode / terminal UX
Show Pasted Text Instead of ‘Pasted N Lines’ in OpenCode
OpenCode can display the text you pasted instead of a collapsed ‘Pasted N Lines’ block. Here are the command-palette and config options shown in my demo.
OpenCode · terminal UI · configuration · developer experience
4 minute read
AI collaboration / shared context
Gangprompting: How Multiple People Can Share One AI Coding Session
Gangprompting lets one person start an AI agent session and another bring the missing expertise, creating a practical shared problem-solving workflow.
AI collaboration · coding agents · team workflows
4 minute read
Software design / AI anchoring
AI Anchoring in Software Design: Why I Sketch the Solution First
AI can accelerate implementation while quietly anchoring software design. Here is why I protect the blank page before asking a model for solutions.
software design · AI coding · cognitive bias
4 minute read
Personal websites / narrative design
How to Make a Personal Website Tell a Story
A personal website becomes more memorable when projects form a narrative. I redesigned mine around the path between the things I have built.
personal website · portfolio design · storytelling
4 minute read
GraphQL / airport data
Building a JFK TSA Wait-Time Dashboard from a GraphQL Request
Facing a tight flight from JFK, I found a GraphQL request for TSA wait data and used OpenCode to turn it into a focused airport status dashboard.
GraphQL · OpenCode · rapid prototyping
5 minute read
Security / link previews
Misleading X Link Previews: What I Captured and How to Stay Safer
An X card appeared to show a trusted Supabase link while a captured redirect pointed somewhere else. These are the warning signs I now check first.
phishing awareness · X link previews · web security
5 minute read
Internal tools / image creation
Inside the Internal Creator App Behind 500+ Team Images
A look at the internal creator app I built, the prompt-and-reference workflow shown in its demo, and why focused team tools can earn real use.
internal tools · image generation · product engineering
5 minute read
Product experiment / X following
Sift: A Swipe Interface for Cleaning Up Your X Following
I built Sift to turn an overloaded X following list into one decision at a time: swipe right to keep an account, or swipe left to unfollow it.
Sift · X following · interaction design
5 minute read
Cloudflare / internal apps
Cloudflare Access for Private Internal Apps: My Lightweight Pattern
For personal and internal tools, I like putting the deployed app behind Cloudflare Access SSO instead of making authentication part of the app.
Cloudflare Access · internal apps · SSO
Hello World
Welcome to my blog! This is my first post where I share my thoughts on software engineering and building products.
Building Inbound: Programmable Email Infrastructure
The story behind building Inbound - a developer-first email infrastructure platform for sending, receiving, and threading emails.