REAL-TIMEWORLDS
I build immersive, real-time experiences for the browser — WebGL scenes, shader systems and multiplayer game mechanics that hold 60fps on a phone.
Adeveloperwhothinksinframes.
Fiveyearsofshippingbrowser-native3D—endlessrunners,networkedshooters,productconfiguratorsanddataworlds.Theinterestingpartwasneverthegeometry.Itwasmakingsomethingthisheavyfeeleffortlessonamid-rangeAndroid.
HOW I WORK
Every scene starts with a frame budget. Geometry, draw calls and texture memory get decided before a single line of shader code, because performance is a design constraint, not a cleanup task.
WHAT I DELIVER
Typed, documented codebases with a component system your team can extend — plus reduced-motion and low-power fallbacks so the experience degrades gracefully instead of breaking.

- Based in
- Nairobi, Kenya
- Working since
- 2020
- Focus
- Real-time 3D on the web
- Engines
- Three.js · R3F · Unity
- Availability
- Open for projects
ThingsIbuiltandshipped.
Thefullstackbehindascene.
Real-time graphics
Custom GLSL, post-processing stacks, instancing and LOD systems. Three.js and React Three Fiber at production scale.
- Three.js
- React Three Fiber
- WebGL / GLSL
- Post-processing
- Blender
Interface engineering
Typed React and Next.js front ends with motion systems that stay accessible and never drop frames.
- Next.js
- TypeScript
- Motion / GSAP
- Tailwind CSS
- Design systems
Game systems
Unity and web-native gameplay: state machines, netcode, and input abstraction across gamepad, VR and depth sensors.
- Unity
- C#
- Photon PUN
- WebGL builds
- Physics
Platform & AI
The services behind the scene — APIs, realtime backends, agent tooling and on-chain settlement.
- Node.js
- Python / FastAPI
- MongoDB / Redis
- MCP & LLM tooling
- Solana
Howascenegetsmade.
Frame the experience
Before a single triangle is drawn we agree on the feeling, the frame budget and the devices that have to survive it.
- Reference board
- Frame budget
- Device matrix
Let us buildsomething fast.
Got a scene, a game or an interface that needs to feel alive? Send over the idea — I reply to everything within a day.