All projects

Professional Experience

Tone Capsule

I co-founded and launched an audio guestbook business that turns vintage telephones into cloud-connected voice recorders. As CTO, I owned the engineering from Raspberry Pi hardware and cross-compiled Go device daemons on headless Linux to a secure Next.js customer portal, cloud audio storage, and deployment. The product has been used at private events and demonstrated to couples and venues at a Costa Mesa wedding expo.

TimelineJul 2024 – Dec 2026
My roleCo-Founder & CTO · Devices, web platform & infrastructure
StatusLive portal · Transitioning to Barrel and Bit

The problem

The experience needs to be simple at both ends: venue staff set up a phone, guests leave a message, and customers find their recordings afterward. Behind that flow, device boot times, offline recording reliability, flash storage endurance, and event reservations all need to hold up in real event environments.

How I approached it

In a major device-runtime overhaul, I switched the Raspberry Pi OS to headless Linux and rewrote the core recording, local setup portal, and status services from Python into cross-compiled arm64 Go daemons (wedding-phone-master-go, local-http-api-server, and azure-cloud-connect) managed by systemd. Active recordings buffer in a volatile RAM disk before saving completed files to persistent storage to reduce flash writes, rclone timers handle offline-first synchronization to Azure Blob Storage, and mDNS, captive hotspot, and USB Gadget Ethernet modes support headless venue setup. After launching the cloud portal on Azure App Service and Cosmos DB, I migrated it to Next.js, PostgreSQL, and Docker on a self-hosted Linux server behind Traefik and Cloudflare Zero Trust, with FFmpeg preparing audio exports.

Inside the build

  • Architected an audio guestbook product and rewrote its Raspberry Pi runtime from Python to Go on headless Linux, cutting cold-boot time to ~22s alongside a Next.js portal and FFmpeg exports.
  • Migrated the customer portal from Cosmos DB to PostgreSQL in Docker on Linux, automating deployments with GitHub Actions and securing ingress through Cloudflare Zero Trust.
  • Engineered cross-compiled Go systemd daemons for GPIO handset capture, RAM-disk audio buffering (reducing SD/USB flash writes), device heartbeats, and an on-device HTTP Wi-Fi/diagnostics portal reachable via mDNS, captive hotspot, or USB Gadget Ethernet.
  • Built an FFmpeg pipeline that normalizes and merges up to 50 recordings with a greeting and separator tones, with streaming downloads, integrity checks, and limits on size, duration, and runtime.
  • Implemented admin, venue, and customer access rules with explicit recording-library grants and private event storage served through short-lived, read-only signed URLs.
  • Built event reservations with transactional row locking to prevent overlapping phone bookings, and account recovery with single-use hashed tokens and instant session revocation.
  • Added 34 automated tests for access isolation, sessions, uploads, and migrations, plus real-database concurrency checks for competing password resets and phone reservations.

The result

The portal, playback, device status API, and Docker deployment are live, validated in the field through private events and an exhibitor booth at an annual Costa Mesa wedding expo. I am concluding my role as CTO at the end of 2026 to absorb Tone Capsule under Barrel and Bit in 2027.