@mohitkrr2557 on My very own WebOS
Cyber OS is a fully client-side, browser-based desktop OS simulation — built from scratch in vanilla HTML, CSS, and JavaScript, with zero frameworks, zero backend, and zero build step. It boots like a real machine: a login screen with custom profiles and emoji avatars, then a working desktop with draggable/resizable windows, a taskbar (search, start menu, system tray, flyouts for network/battery/volume), alt-tab switching, and snap layouts. Underneath that shell is a real virtual file system — files are persistent node objects you can actually create, open, edit, rename, and delete through File Explorer, not just decorative icons — plus a full app suite (Notepad, Calculator, To-Do, AI Chat, three different terminal shells, Paint, Media Player, Snipping Tool) and a Gaming Hub with 8 playable arcade games and persistent high scores. The newest piece, Brave, is a working in-OS browser: type any URL and it renders the live page, with real back/forward history and a clean fallback for sites that block embedding.
The hardest part wasn't any single feature — it was making the OS hold up under real use instead of just looking right in a screenshot. The file system needed an actual state machine: every file had to round-trip correctly through open → edit → save → delete → restore-from-recycle-bin without corrupting other files or colliding on names, all serialized into per-user local storage. Getting the animations to feel native took its own full pass — swapping synchronous style writes on every mouse move for transform updates inside the animation frame loop, and replacing scattered ad hoc transition values with one shared eased curve so windows, menus, and flyouts all move consistently instead of half snapping and half easing. Brave was its own rabbit hole — handling X-Frame-Options and CSP headers that block embedding without the iframe just going silently blank took a lot of trial and error to land on a clean "open in a new tab" fallback instead of a broken-looking pane.
I'm proud that this stopped being a mock-up somewhere around the file system rewrite. Most "fake OS" projects let you click icons that don't actually do anything; Cyber OS persists real state — files, sessions, high scores, notes, to-do items — all of it survives a refresh because it's genuinely saved, not just rendered. ~205 hours across four devlogs went into getting from a static desktop image to something that behaves like a real, if small, operating system.
Try it live, no install needed: https://mohitkrr2557.github.io/CyberOS/. Sign in with any username — it spins up a fresh local profile — then open File Explorer and actually create, edit, and delete a file; drop into Space Notepad or the To-Do app and refresh to watch your state survive; launch a couple of games from the Gaming Hub; and try Brave with a real URL to see the live in-OS browser. Everything is stored locally to your own browser profile, so nothing you do will affect anyone else testing it.
- 1 devlog
- 0h