NovaOS started as a small experiment. I wanted to see if I could recreate the feeling of using a desktop operating system entirely inside the browser. What I expected to be a quick side project ended up becoming something much bigger over the course of a few days.
The goal was never to copy Windows or macOS. I wanted NovaOS to have its own identity while still feeling familiar enough that anyone could jump in and immediately understand how to use it. The result is a browser-based desktop environment complete with its own applications, taskbar, launcher, notifications, settings system, wallpapers, and window management.
Since the first version, the project has grown quite a bit. NovaOS now includes Nova AI, Nova Command, Nova Music, Notes, Calculator, Explorer, Stellar Navigation, live wallpapers, onboarding screens, desktop widgets, custom application icons, system monitoring tools, and a number of smaller quality-of-life features. Version 1.0.2 focused heavily on improving the overall experience, redesigning parts of the interface, adding new applications, and making the desktop feel more cohesive.
I used Claude throughout development as a tool to help generate parts of the CSS, experiment with interface ideas, and build some larger components. Nova Command was largely built with Claude's assistance, along with several widgets and UI systems. Everything still required a lot of manual integration, debugging, redesigning, and refinement to fit together inside the project.
The hardest part was never building individual features. A calculator, notes app, or music player can be built on their own. The real challenge was getting everything to work together without breaking something else. Wallpapers needed to communicate with settings, windows needed to interact correctly with the taskbar, notifications needed to work across applications, and every new feature introduced another opportunity for bugs. A large portion of development ended up being spent connecting systems together and solving unexpected problems.
What I'm most proud of isn't any individual feature. It's the fact that the project actually reached a point where it feels complete and usable. Starting a project is exciting. Finishing one is much harder. There were plenty of moments where fixing one issue created two new ones, but seeing everything finally come together into something that genuinely feels like a desktop environment made the effort worthwhile.
If you decide to try NovaOS, the best way to experience it is to explore. Open applications, customize the desktop, launch Stellar Navigation, experiment with Nova Command, play music, change wallpapers, and see what you can find. There are still features I want to add and areas I want to improve, but this version finally feels like the vision I had when I started.
For now, NovaOS v1.0.2 marks the end of the first chapter of the project.
- 9 devlogs
- 15h