Overview
A little classic-Mac-style desktop that follows you from machine to machine. You boot it, log in, and land on a desktop with draggable and resizable windows, a dock, desktop icons you can rearrange, right-click menus, and a real Trash with restore. Create files, organize them in folders, doodle, take notes, play a game -; and find it all waiting the next time you open it.
To be clear about what it is: it's not a real OS, and it doesn't run other programs inside itself. Think of it as sitting down at a tidy little desktop, not booting Linux in a tab.
Background
This is the personal MVP -; local-first and single-user. A school edition
(multi-user, cloud-synced, SSO) is planned as a later version, and the code is
deliberately structured so that swap stays clean. The roadmap lives in the repo's
PLAN.md.
How It Works
Everything runs client-side -; nothing leaves your browser, and because there's no
server the whole app is just static files that host anywhere. It's built with React 19
and TypeScript on Vite, with react-rnd for the draggable/resizable windows,
Zustand for state, and Tailwind for styling.
Persistence is split by what kind of data it is: your files live in the browser's IndexedDB (via Dexie), and desktop state -; open windows, icon positions, theme, notes, links, your login -; lives in localStorage.
- Apps: TextEdit, a flip-through Note Pad, Paint, an image viewer, Calculator, a Launcher for external links, Appearance, and About.
- Games: Solitaire, Minesweeper, Tetris, and SkiFree.
- Files: a Finder-style Files app -; create, rename, trash,
navigate; import
.txt/.md/ images and download them back. - Themes: three looks (Sandstone, Dusk, Mint), each with light & dark mode, switchable live.