▤
The Browser Shell
The website you're reading is the project.
A working terminal that runs entirely inside your browser, built as three separate layers: the screen you see, the engine that understands what you typed, and the runtime that executes it in the background. None of the three knows how the others work, so any one of them can be swapped out without touching the rest. Adding a brand-new command takes exactly one new file.
TypeScriptLayered architectureWeb Worker runtimeMonorepo
Status: Live — you're using it right now.
$ cat projects/browser-shell/README.md
View on GitHub ↗⚙
Industrial Sim-Racing Hardware
A racing wheel with real industrial force behind it.
A high-end direct-drive steering system for sim racing, built from scratch. Direct drive means the motor is connected straight to the wheel with no gears in between, so every bump in the virtual road arrives in your hands unfiltered. Industrial AC servo motors do the pulling, STM32 microcontrollers do the thinking, and custom sensor integration ties the two together — all of it designed and assembled rather than bought off a shelf.
STM32Embedded firmwareIndustrial AC servoSensor integration
Status: Built end to end, from electronics to firmware.
$ cat projects/sim-racing/README.md
◈
Instant Quote Automation Engine
Turns a technical drawing into a price, instantly.
A specialized production web application that calculates pricing directly from technical engineering drawings. The work it replaces is slow and manual — someone reading each drawing and quoting by hand. This does it on the spot, consistently, every time. The hard part was never the interface; it was turning engineering data into logic a machine can read correctly.
Production web appAutomationEngineering drawingsPricing logic
Status: Developed and deployed as a production application.
$ cat projects/quote-engine/README.md
▮
Mondus
A training app that keeps up with the lift, not the other way around.
A native mobile app for strength training, built around progressive overload — the simple idea that you add a little more weight or a few more reps each session, and something has to keep track of that. The priority is speed: logging a set between rounds should never make you wait for a screen. Built natively rather than wrapped in a browser, because the difference is felt in the hand.
React NativeNative performanceMobileProduct design
Status: Personal product work — happy to walk you through the current state.
$ cat projects/mondus/README.md