Archive
Writing
& Thoughts.
Weekly insights on software engineering, product strategy, and the messy reality of building digital stability.
Use OpenCode From Anywhere via a Telegram Bridge
How I reach OpenCode from anywhere through a Telegram bridge, so I can code from my phone while away from my desk, with no tunnel, no open ports, and nothing exposed to the internet.
Building a Disaster Recovery Setup for a Production App with MySQL Replication
Turning a single-server Node.js app into a resilient setup with master-slave replication, Docker, and a one-command failback script, without touching the existing production stack.
Stop Shipping API Keys in Your iOS App: Build a Serverless AI Proxy Instead
Why compiling OpenAI or Gemini keys inside your mobile app binary is a security trap, and how to build an elegant serverless proxy using Cloudflare Workers for free.
SnapText: How a Simple Window Close Crashed My MacOS App
A deep dive into debugging a mysterious crash in a macOS menu bar app built with Swift 6 and AppKit.
Silent Bot in Group Chat: A Case Study in Chat Platform Integration
When your Telegram bot works flawlessly in DMs but ignores every message in a group, including @mentions, the fix is rarely where you expect it.
My Thoughts on Programmers vs Vibe Coders
Exploring the democratization of coding tools, the rise of vibe coding, and why the debate between engineering depth and business speed is a familiar historical pattern.
The Math Behind Cursor-Centered Zoom
Why my first zoom implementation was wrong, and the formula that finally made cursor-centered zoom work correctly at any zoom level.
Building CCTV RTSP Live: A macOS App for Monitoring IP Cameras
The story of building a macOS app for RTSP camera monitoring from scratch - what started as a personal itch turned into a full-featured indie app.
Building a Recording Engine with FFmpeg on macOS
Why VLCKit's built-in recording failed for RTSP live streams, and how I replaced it with an FFmpeg subprocess that actually works.
Fixing H265 Stream Freeze on Tuya Cameras
How I tracked down a VideoToolbox -12906 error causing RTSP stream freezes and reconnect loops in my macOS CCTV app.
Building Things That Last
A reflection on 17 years of building software - from Friendster layouts to production systems - and what I've learned about writing code that actually holds up.
Tuya DP ID List: How to Find DP IDs for Smart Plug, Bulb, and Camera
Step-by-step guide to finding Tuya DP IDs using the IoT Cloud API Explorer. Includes DP ID reference tables for smart plugs, bulbs, IP cameras, and IR blasters - useful for LocalTuya and Home Assistant integrations.