Start With the Struct, Not the Interface
When I start a new feature in Go I keep reaching for the interface first. That order is wrong: write the concrete struct, and let interfaces show up at whatever consumes the dependency.
Mobile Apps · Backend · IoT Systems
10+ years building and shipping production mobile apps end-to-end — from idea to App Store and Google Play. I design scalable mobile architectures, integrate backend services, and stabilize systems others have built.
I like owning the complete system: the mobile experience, the API behind it, and — lately — the hardware it talks to. When the product needs it, I build Go services to support the mobile layer.
When I start a new feature in Go I keep reaching for the interface first. That order is wrong: write the concrete struct, and let interfaces show up at whatever consumes the dependency.
No framework, no container, no reflection scanning your struct fields at startup: Go's version of dependency injection is a constructor argument, and interfaces are what make that argument swappable.
Antigravity IDE can install the GitHub Pull Requests extension but can't run it properly. I replaced it with the GitHub CLI and shipped this post with four commands, without opening github.com once.
VS Code refused to let me switch branches after a GitHub merge. The uncommitted changes weren't the problem — my local main was just stale.
Deepening Go expertise and exploring embedded development — ESP32, BLE communication, and sensor-based IoT projects.
Built the KetoBM companion app that pairs with the KetoBM Bluetooth blood glucose + ketone meter to automatically sync readings — no manual entry — and surface real-time results on the phone.
Implemented the reading logbook, trend charts, and statistics (averages, ranges, daily/weekly/monthly patterns) that help users on ketogenic and low-carb diets understand their metabolic state over time.
Led development of a field service platform (mobile app) used to manage end-to-end operations — scheduling, dispatch, CRM, invoicing, and payments.
Designed and implemented core systems enabling technicians to manage jobs, capture work on-site, and handle payments directly from the app. Focused on real-time data synchronization, system reliability, and scalable architecture, with CI/CD and release pipelines supporting predictable delivery.
Built a React Native app to control an LED matrix over Bluetooth Low Energy.
Features include real-time brightness/saturation control, predefined color schemes, and on-device color palette generation from images. Handled full BLE lifecycle — device discovery, pairing, connection state, and characteristic writes.
Open to Senior React Native and Go backend roles — remote