Product design engineer in Lagos, Nigeria. I build for the phone in your pocket, PWAs and native, and I care about the unglamorous parts: tests, bundle budgets, and keeping secrets out of both.
Portfolio: designedbymiles.vercel.app, with a case study for each build below.
- Nearspace - a location-based creator community for Nigeria: geohash proximity discovery, presence, one to one and group chat, cache-first reads. In production with real users.
- Luna - a local-first coding agent for Android. GGUF models run on the device through llama.cpp and JNI, with token streaming and a checksummed model catalog, and an optional hosted tier for larger models.
- Legally Unbullied - a Nigerian legal information assistant that answers from statute and cites the provision, or refuses when the retrieval does not support the answer.
- Scout - a browser automation runtime in Rust: one small binary, an authenticated HTTP API, sandboxed page JavaScript and structured extraction.
- Mr Nobody - an Android privacy browser with a bounded task agent, sharing one set of privacy controls.
- Motionshelf - a library of copyable first-party UI examples and offline developer tools, with reviewed submissions.
- Turf - a pay-to-rank feed where rank is the amount paid, settled atomically in the database.
- Stare - a staring competition judged in the browser by a MediaPipe face mesh.
- Photon Lab - a test bench for screen to camera optical channels.
- Middleground and sweetwater - first-person worlds in Three.js, one generated and streamed, one a recreation of a town.
- Chan - synchronised watch parties with chat, screen share and an Android player.
- ODG Deliveries and ilee - two Lagos products built for a real operator: food delivery with one role per account, and long-term rentals with a staff verification desk.
JavaScript and TypeScript, React and React Native, Node, Rust when the job needs a binary, Python when it earns its place. Firebase and Vercel for speed, not as a substitute for understanding what is underneath. Tests are part of the feature, not a task that follows it, and a README should describe what the code does rather than what I hoped it would.
Open an issue on any repository, or use the contact page on the portfolio.