Build logs. Real numbers.
What actually happened while building GHZ Code, GHZ Voice, FundingView and the server they run on: the bugs, the outages, the fixes, and what we changed after.
- Our dictation app grew to 35 GB of RAM. The first fix was wrong.How we tracked a GHZ Voice memory leak to CoreAudio callbacks that kept running on macOS, with vmmap and malloc_history, and the fix we measured.5 min
- Three deploy mistakes that broke our production, and the rule each one leftAn rsync that overwrote .env, a variable Docker Compose never passed, an AI agent that deployed stale code. What broke at GHZ Creative and what we changed.5 min
- One server for every backend: how we run GHZ Creative’s productsHow GHZ Creative consolidated its backends on one server: Cloudflare Tunnel with no open ports, Traefik, a deploy script that rolls back, and Restic backups.5 min
- Dictation went from 1 second to 26. The cause was a network route.Why GHZ Voice uploads crawled at 28 KB/s: an asymmetric route through China Mobile after an IP change, how we measured it, and why Cloudflare fixed it.4 min
- Shipping updates to a Mac app without the App StoreHow GHZ Code and GHZ Voice update themselves: Tauri updater, notarization with notarytool, signed archives and a releases table on our own server.5 min
- Why “Update Codex” failed inside GHZ Code and worked in the TerminalAn npm EACCES error caused by two Node installs and a PATH our Mac app reordered. How GHZ Code now respects the user's shell and updates each agent with its own installer.4 min
- FundingView: 11 days, Claude in a browser tab, and a CSV on GitHubHow GHZ Creative shipped FundingView, a funding-rate arbitrage tool, in 11 working days with Claude Sonnet in a browser, and what the first hosting bill taught us.4 min
Building something?
The team behind these logs takes on a few studio projects a quarter. Tell us what you need and we answer within two working days.