Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

NebulaOS is a browser-based portfolio that presents itself as a desktop: users can open and arrange windows, launch small apps, and explore a shared virtual file system. Its creator, Sriharsha Reddy Maddula, describes it as a personal operating system built for Hack Club’s WebOS 1 workshop—not a replacement for Windows, macOS, or Linux.

What NebulaOS is—and what it is not

Maddula’s DEV Community article frames the project as an alternative to a conventional scrolling portfolio. The desktop metaphor gives visitors a way to explore the creator’s work and interact with a collection of apps. The article links both a live demo and source code, but the demo and repository have not been independently verified here.

“Operating system” describes the interface and interactions, not a standalone OS installed on a computer. The project is described as running in a browser; the article does not establish that it replaces system-level software or supports a particular browser or device.

What you can do in the desktop

Arrange application windows

The window manager is described as supporting dragging, resizing, minimizing, maximizing, and snapping windows to screen edges. Open windows are said to persist across a page refresh. A boot sequence, lock screen, and power menu—with lock, restart, and shut down actions—extend the desktop metaphor.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Open the included apps

The article lists eight apps: About Me, Files, Terminal, Paint, Notes, Calculator, Snake, and Settings. Files and Terminal use the same virtual file system, so users can browse files in one app or explore them in Terminal with ls, cd, cat, and tree.

Personalize and find things

Settings offers four themes and a wallpaper picker that accepts an uploaded image. Other desktop features include Spotlight search with Ctrl+Space, a right-click desktop menu, and toast notifications.

How the author says it was built

Maddula identifies React, TypeScript, and Vite as the technology stack, with no UI library. In the article’s account, each open window is an object in application state containing an ID, position, size, stacking order, and minimized state. Focusing a window raises its stacking order; dragging uses pointer events and setPointerCapture. Apps are React components registered in a shared list.

These implementation details explain how a portfolio can behave like a desktop without being a conventional operating system: the app manages simulated windows and tools inside the browser page.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Four bugs the author encountered

The article also describes practical issues in building the interface. The fixes below are the author’s account; they have not been independently reproduced.

  • Terminal blank-screen crash: An effect used an arrow expression that returned the result of scrollIntoView(). React interpreted the returned value as an effect cleanup function. The author says adding braces prevented the effect from returning that value.
  • Snake high score stuck at zero: The game loop’s effect held a stale state closure. The reported fix was to keep a local counter inside the effect for game logic and use state for display.
  • Snap preview in the wrong position: The preview was rendered inside a window, where backdrop-filter made that window the containing block for fixed-position children. Moving the preview to the app root addressed the positioning issue.
  • Windows appearing off-screen on phones: New windows began at a fixed horizontal position that could exceed a 375-pixel-wide screen. The author says newly opened and restored windows were clamped to the viewport.

How the author describes deployment

The article says a GitHub Actions workflow builds the Vite app and publishes it to GitHub Pages on each push. For the initial setup, Maddula notes that the repository’s GitHub Pages “Source” setting must be set to “GitHub Actions.” The article also says Vite’s base path is set to ./ so the site can work from a subpath.

Rank #4
Sooez Art Portfolios 9"x12", 40 Pockets Large Portfolio Folder Display
  • 40-Pocket Large Capacity Portfolio Book: Each art binder with 40 bound (non-refillable) top-loading clear sheet protectors, letting you show 80 pages of 9x12" letter size or smaller. Folder measures 12 7/8" (L) x 9 11/16" (W) x 11/16" (G).
  • Tailor-Made Spine Title: You can label and identify your watercolors, sketches, scrapbook, art pieces, sheet music, certificates, and other projects by customizing the reversible spine insert.
  • High Transparency & Lies Flat When Open: Our presentation book with crystal clear PP sheet protectors offers complete transparency for checking through and organizing. Bound sheet protector lies flat when open, free your hands.
  • Archival Quality & Heavy Duty: Made from durable and light weight polypropylene which is archival quality, acid-free, non-stick, and non-glare, and water-proof. Thickened and sturdy cover won’t easy to crack and keeps your clear sleeves from being damaged.
  • Multi-Function: Not only suitable for long-term storage but also for displaying your paintings, photos, artwork, drawing, stencils. Great gift for students, teachers, office workers, secretaries, musicians, painters, etc.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What may come next

Maddula names a music player, a mini browser app, and real multi-desktop workspaces as possible additions. These are ideas for future work, not features the article says are already available.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.