Skip to content
View JeanDes-Code's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report JeanDes-Code

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
JeanDes-Code/README.md
Jean Desauw — React Native Engineer · Agentic Practitioner

Jean Desauw

I build React Native in production. I pilot AI agents on the same code.

Website LinkedIn Email

Available from 1 October 2026. React Native / Expo / TypeScript, full remote, with agentic delivery. See my services.

About

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.

🎵 Case study: Odisei Play

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:

  • Device connectivity: scanning, pairing, MIDI-over-Bluetooth parsing, reconnection, with arbitration across Bluetooth, USB and audio input
  • A web Bluetooth implementation, so the browser version connects to the instrument like the native apps do
  • The learning experience: interactive video checkpoints that wait for you to actually play, and a post-session state machine sequencing awards, streaks and goals
  • The monorepo migration: the app plus ten shared packages, a design-token pipeline, a Storybook design system
  • The agentic infrastructure: per-package CLAUDE.md files, single-source-of-truth rules, custom skills and hooks. The whole team, designer included, works with Claude Code on top of it

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:

  • ✅ Live on iOS, Android and web from one React Native codebase
  • ✅ 5,370 of 14,179 commits in the repo (38%), in a codebase already a year old when I joined
  • ✅ Bi-weekly release train with over-the-air patches in between
  • ✅ 150+ screens, 24 feature modules, a design system of 340+ components in Storybook
  • ✅ Two engineers, one designer and a few AI agents shipping like a much bigger team

Stack: React Native · Expo · TypeScript · Supabase · BLE

Visit live site App Store

🛠️ Technical Stack

React Native · Expo · TypeScript · Reanimated · BLE · Supabase · Next.js · Claude Code

💼 What I Ship

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

🧩 A repo your agents can read

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.

📦 Open source

  • sneq-narrative-system: narrative-state engine for AI-narrated games. Stops the LLM from forgetting or forking canonical reality. TypeScript, SQLite + sqlite-vec.

    npm version npm downloads

  • 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.

Let's build

Available from 1 October 2026. React Native, Expo, TypeScript, agentic delivery. Full remote.

Services Contact Me

Pinned Loading

  1. sneq-narrative-system sneq-narrative-system Public

    Narrative-state engine for AI-narrated games (TTRPGs, AI Game Masters, agent campaigns). Stops the LLM from forgetting or forking canonical reality. TypeScript, ESM, SQLite + sqlite-vec, multi-prov…

    TypeScript 1

  2. legendlist-web-sticky-repro legendlist-web-sticky-repro Public

    Repro: @legendapp/list stickyHeaderIndices on web — AnimatedLegendList header rides the scroll; plain LegendList handoff drifts (vs RN ScrollView CSS-sticky control)

    TypeScript

  3. rn-fabric-recycling-touch-dead-repro rn-fabric-recycling-touch-dead-repro Public

    Minimal Expo repro — iOS Fabric view-recycling corruption: screen goes touch-dead after react-native-screens dismissTo + re-push under virtualized-list churn (RN 0.85, new arch)

    TypeScript

  4. RNSkia-dualWebGPUView-minimal-repro RNSkia-dualWebGPUView-minimal-repro Public

    Minimal repro: duplicate WebGPUView registration when @shopify/react-native-skia and react-native-wgpu are both installed

    TypeScript