Building real systems.Documenting the field.

I design products, operate infrastructure, and write down the failures, decisions, and lessons.

Herdr Connect iPhone agent overview
TubeCast iPhone home screen
Real products, continuously built

I build them. I run them.

From mobile apps and browser extensions to homelab infrastructure and automation. I care about whether an idea works, and what it teaches after running for a while.

Builder

Turning rough ideas into products people can install, use, and test.

Operator

Maintaining real systems and finding reliable answers inside their constraints.

Writer

Documenting decisions, failures, and lessons worth reusing.

What I am building

Three different interfaces, one working method: start with a real problem and make a system people can use.

Public Preview

Herdr Connect

Control Herdr Agents on the same local network from an iPhone.

A local-first companion for Herdr with LAN discovery, QR pairing, and certificate pinning. Agent state stays off cloud relays.

  • iOS
  • Go
  • Local-first
Herdr Connect agents listHerdr Connect agent control screen
TubeCast home and recommendationsTubeCast audio player

Available on App Store

TubeCast

Turn video into a personal, audio-first listening library.

Follow video channels, convert audio, track progress, and listen offline. Courses, interviews, and talks fit into time on the move.

  • Expo
  • Cloudflare
  • Audio

In Development

X Likes

Back up, search, and read your liked X posts locally in the browser.

A Chrome MV3 extension that keeps data in on-device IndexedDB by default, with support for full articles and multilingual content.

  • Chrome MV3
  • React
  • Local data

Latest writing

Notes about systems, failures, decisions, and the fixes worth remembering.

Articles are published in Chinese

View all writing

Find me on the open web

Follow the products in progress, read the longer process, or inspect the source.

The next system usually starts as a small experiment.

See what I am building, breaking, and learning in public.

Follow @tomyail