I am a software engineer. I build web apps, iOS apps, and real-time systems, usually on my own, from the first line of code to the server it runs on.
Most of what I make starts because I wanted it to exist and it did not yet. The common thread is that your data stays where it is: drpl.co moves a file between two devices in a room without it touching a cloud, and erasebg.dev runs its model inside your browser rather than on a machine of mine.
I work across the whole stack because the projects need it. Front end in React or plain JavaScript, back ends in Node and Express, iOS in Swift, cross-platform in Flutter, desktop in Electron. I run my own Linux servers behind Nginx and Cloudflare instead of paying a platform to do it, which means I also handle the deploys, the monitoring, and the fixes at two in the morning when something falls over.
Lately most of my time goes into running models locally rather than calling an API. I trained a 10 million parameter model from scratch mainly to understand what actually happens inside one, and I have been working with Whisper, ONNX and WebGPU to get inference running in the browser with no server involved at all.
I would rather ship one thing that works than ten demos that do not.
Languages — JavaScript, TypeScript, Python, Swift, Dart, C, C++, SQL
Web and app — Node.js, Express, React, Socket.IO, WebRTC, Flutter, Electron, progressive web apps
Machine learning — PyTorch, CUDA, ONNX, WebGPU, Whisper, Transformers.js, MediaPipe
Infrastructure — Linux, Docker, Nginx, Cloudflare, FFmpeg, Git
Send a file straight from one device to another in the same room. No account, no upload, and nothing lands in anyone's cloud on the way. Built on WebRTC.
The split flap departure boards from old train stations, rebuilt to run on any screen. Pair your phone as a wireless remote. No frameworks, no build step.
An offline music player for iPhone and iPad, on the App Store since December 2025. It plays local files only and uploads nothing. Version 2 added gapless playback, background play, a sleep timer, and pinned albums.
Remove an image background without uploading it anywhere. The model runs in your own browser through WebAssembly, on your CPU or GPU, so the photo never leaves the tab and there are no credits to buy.
A dependency-free notification library for the web. Toasts, alerts, themes, and progress bars. MIT licensed, published on npm.
Phone as Webcam turns an iPhone into a 4K60 webcam on Windows over a cable or a single QR scan, with Swift on the phone and native C++ on the desktop. isthishalal.org scans a barcode to tell you whether a packaged food is halal, currently being rebuilt with an iOS app alongside it. A locally trained AI voice model is in progress too.
More in my repositories.
Programming for Everybody (Getting Started with Python) — University of Michigan, September 2025.



