CosmoOS
- 3 Devlogs
- 5 Total hours
My web OS that was designed with a minimalistic cosmic style.
My web OS that was designed with a minimalistic cosmic style.
Devlog #3
What’s new: Windows now snap to screen edges and to each other when dragged within 20px. I also added keyboard shortcuts: Alt+W closes the active window, Alt+N opens Notes, Alt+I opens System Info, and Escape also closes windows.
The starfield broke after I added the JavaScript movement, the CSS animation and the JS were fighting each other, making stars drift off-screen forever. Fixed it by removing the CSS animation entirely and letting the JS handle everything. Stars now recycle forever.
The window snapping: The snap detection checks both horizontal and vertical alignment. Windows snap left/right and top/bottom to each other and to the screen edges. It’s subtle but makes the desktop feel much more polished.
What’s next: That’s it. Three devlogs, all features done, bugs fixed. Time to ship finally.
Devlog #2
What changed since last time: The asteroid game no longer double‑draws, media player notifications actually work, windows can’t be dragged off‑screen anymore, and there’s a restart button after shutdown. Oh, and it now lives on GitHub with a live demo on Vercel.
The last 10% took longer than expected. The GitHub push failed. Also, the asteroid canvas resize bug kept breaking the game on window resize, then I fixed it with a debounced restart. The shutdown screen had no recovery, so I added a RESTART button after the black hole animation. Now you can actually get back in.
What’s next: Shipping the project. Live demo at cosmo-os.vercel.app. Code on GitHub. The README is clean, the assets are credited, and the fallback drawings mean it works even if some images are missing.
Would I build it the same way again? Yes and no. The rewrite from the over‑ambitious first version was the best call. Next time, I’d start smaller and add features iteratively. But for now, CosmoOS is out there in the void.
Devlog #1
So what’s here: A space themed desktop environment with draggable windows, a notification center, two arcade games (SpaceSnake + Asteroid Destroyer), a music player, and a secret shutdown animation.
My first version tried to do too much, custom file system, terminal emulator, easter eggs. After almost one and a half hour of nothing working, I deleted almost everything and started over with just the window manager and games. Best decision I made. The rewrite took another one and a half hour and it actually runs.
Next up: Fix the double-draw asteroid bug (I have two loops running), preload images so they don’t reload every frame(optimalisation), and write a README. Then I’ll make a demo site and then ship the project.
PS: Yes, the asteroids rotate. Yes, I spent way too long on that.