Available from 1 October 2026. React Native / Expo / TypeScript, full remote, with agentic delivery. See my services.
I build production React Native apps where the hard problems are the point: real-time audio, Bluetooth hardware, live MIDI, on-device AI.
I came from audiovisual engineering and taught myself to code. That background is why I end up on products where the hardware and the interface have to talk to each other.
Most recently I was the lead React Native engineer behind Odisei Play, the companion app for the Travel Sax, an electronic saxophone: video courses, play-along songs and practice tools that react live to what you play, streamed from the instrument over Bluetooth MIDI. One React Native codebase, three platforms, a two-engineer team.
Since 2024 I have been piloting coding agents (Claude Code) on that same production codebase. The specs, reviews and shipping decisions stay mine. The agents do the heavy lifting. I write about the method on my blog.
|
Lead React Native Engineer at Odisei Music · 2024 to present Companion app for the Travel Sax, an electronic saxophone. Video courses, play-along songs and practice tools that react live to what you play over Bluetooth MIDI. One React Native codebase on iOS, Android and web. What I built and own:
What I did not build: the audio engine, the pitch detection and the core playing screen are the CTO's work. I built most of what surrounds them. |
Shipped:
Stack: React Native · Expo · TypeScript · Supabase · BLE |
| Domain | Reality |
|---|---|
| React Native / Expo | Production apps from zero to the App Store: complex animations, performance budgets, BLE and on-device AI |
| Audio × hardware | Real-time MIDI pipelines, Bluetooth device connectivity across native and web |
| Agentic delivery | Claude Code as a main developer on production code: spec-first workflow, review gates, the human keeps the decisions |
| Architecture & leadership | CTO-facing ownership: monorepos, design systems, roadmap, code reviews |
Two people do not ship a product this size every two weeks unless the codebase itself is doing part of the work. That is the second thing I install on a contract. It acts on your repo, not on your developers — I am not there to teach your team to prompt.
- One CLAUDE.md per package. The agent loads the context of the module it works in, not the whole repo.
- Rules in one place. You change a convention once, every agent follows it.
- Skills and hooks written for your repo. What has to be checked before a commit gets checked without you.
This is the setup running on Odisei Play, where the designer works in Storybook, on shared design tokens, with an agent. How it works.
-
sneq-narrative-system: narrative-state engine for AI-narrated games. Stops the LLM from forgetting or forking canonical reality. TypeScript, SQLite + sqlite-vec.
-
High-signal bug reproductions for the React Native / Expo ecosystem: Fabric view-recycling touch-dead, LegendList sticky headers on web, Skia + WebGPUView conflicts. Minimal repros filed to help maintainers fix real issues.



