
I built a desktop OS in the browser. Not a mockup — you can drag windows around, minimize them, open a terminal (docker only), and play DOOM.
Stack:
React 19 + TypeScript: concurrent features matter when you're juggling twelve draggable windows and a taskbar. You start caring about scheduling real fast.
react-rnd: I tried writing the drag/resize math myself for about an hour, then remembered I hate geometry and installed it.
Zustand: I was done with Redux boilerplate. Store, hook, move on.
Mantine: looks decent without me touching CSS for three days. Left me time to make the fake terminal actually parse commands instead of echoing them back.
Framer Motion — keeps animations off the main thread. 60fps or I don't ship it.
There's also a bash emulator and a code-server integration. I regret both. Can't delete them though — at this point they're just funny.
No cookies, no tracking, no analytics. Runs entirely on your machine. I have no idea if anyone opens it, and I'm weirdly okay with that.
Wiki has the npm package, Docker image, and architecture notes. Fair warning: the wiki is AI-generated because I write code, not docs. 🤷♂️
Demo: frannunpal.github.io
Repo: github.com/frannunpal — includes a Tauri build if you want it on your actual OS.