Offline-first React Native that actually syncs
A pragmatic pattern for conflict-free sync using a local write-ahead log and idempotent server merges.

A product-minded senior developer with 9+ years across iOS, Flutter, and React Native. I care about the last 10% — the motion, the empty states, the way a list scrolls at 120fps — because that's what makes an app feel trustworthy. Work with me and you get a calm, senior pair of hands from first call to launch day.
A mix of cross-platform apps, native iOS work, and developer SDKs — across productivity, kids, health, IoT, and AI.
A calm productivity app with offline-first sync, natural-language capture, and a focus timer. 4.8★ across stores.
A curated, parent-controlled video experience with screen-time limits, content allow-lists, and a playful, accessible UI.
import PhylloSDK // connect a creator account let phyllo = Phyllo(token) phyllo.connect(host: .native) { result in switch result { case .success(let id): log("linked \(id)") case .failure(let e): handle(e) } }
Embedded the Phyllo identity & income-data SDK across native iOS and Android hosts, with a typed React Native bridge and connect-flow UI.
Bluetooth Low Energy companion app for a wearable sensor: pairing, OTA firmware updates, live telemetry charts, and background sync.
A streaming AI chat app with voice input, tool-calling, and on-device summarization. Built a token-streaming UI with graceful fallbacks.
End-to-end product development, or a focused engagement on the part you're stuck on.
Swift & SwiftUI apps that feel native to the platform — from concept to App Store.
One codebase, both stores. Pixel-perfect Flutter apps with smooth 60fps motion.
Cross-platform apps with native modules, OTA updates, and a fast dev loop.
APIs, auth, realtime sync, and database design — wired cleanly into the app.
LLM features, streaming chat, voice, and on-device inference done tastefully.
Versioned, documented native & cross-platform SDKs with great DX.
App Store & Play Store submission, ASO, review fixes, and release pipelines.
Profiling, animation tuning, and the last 10% that makes an app feel premium.
A simple, visible process. You always know what's happening, what's next, and what it costs — no black boxes.
We map the goal, users, and constraints. I audit any existing code, pin down scope, and give you an honest estimate — no surprises later.
Flows, states, and the tricky edges get designed first. We agree on the look and the architecture before a line of feature code is written.
Short, visible iterations. You get a running build every week, not a black box — so feedback lands while it's cheap to act on.
Performance passes, accessibility, crash and analytics wiring, automated builds. The last 10% that separates a demo from a product.
App Store / Play Store submission, release pipeline, and a post-launch loop to watch the numbers and tune what matters.
Inherited a slow, crashing, or abandoned app? I take struggling codebases — jank, memory leaks, one-star reviews, rejected builds — and get them healthy, fast, and shippable again.
A year of commits, releases, and review fixes. I work in steady, dependable increments — not heroics — so projects land on time and stay healthy.
How a few of these projects came together — the problem, the build, and the numbers.
How we cut sync conflicts to near-zero and lifted the store rating from 3.9 to 4.8.
import PhylloSDK // connect a creator account let phyllo = Phyllo(token) phyllo.connect(host: .native) { result in switch result { case .success(let id): log("linked \(id)") case .failure(let e): handle(e) } }
A typed bridge and connect-flow that brought integration time from days to an afternoon.
Designing recovery scoring and a glanceable Watch experience around real sensor data.
A pragmatic pattern for conflict-free sync using a local write-ahead log and idempotent server merges.
Token streaming, optimistic rendering, and graceful fallbacks when the model stalls mid-sentence.
Background reconnection, MTU negotiation, and why your OTA update fails only on one Android OEM.
Available for freelance and contract work — mobile apps, SDKs, AI features, and store launches. Usually replies within a day.