I built a browser-based desktop environment (IP Linux) with React, TypeScript and Vite
I have been working on a project called IP Linux: a browser-based desktop environment that runs as a static web app.
- Live site: https://ip-os-linux.vercel.app/
- GitHub Repository: https://github.com/ikerperez12/IP-OS-LINUX
It is not a real Linux distribution, and it does not run native binaries. The idea is different: I wanted to explore how far a polished desktop-like experience can go inside a normal browser tab.
The result is a small web OS-style environment with:
- A splash / entry screen
- A desktop with icons, folders, and widgets
- A top panel with system controls
- A dock and app launcher
- Resizable and draggable windows
- Virtual workspaces
- Snap assist
- A global search / Spotlight-style command palette
- Local-first apps (Files, Terminal, settings, player)
- Reactive wallpapers
- Glass UI and visual effects
Why I built it
Most web demos are landing pages, dashboards, or small single-purpose apps. I wanted to build something that feels more like an environment.
I was interested in questions like:
- Can a web app feel physical and desktop-like?
- How should windows behave inside a browser viewport?
- How far can local-first storage go before a backend is actually needed?
- How do you organize many small apps without making the UI messy?
IP Linux became a way to test all of that in one project.
The app includes a catalog of built-in apps and tools: Files, Terminal, Browser, Settings, App Store, Music Player, Matrix Rain, games, developer tools, productivity apps, and visual utilities. The virtual file system and user preferences are stored locally in the visitor’s browser with IndexedDB/localStorage. There is no backend, no account system, and no required environment variables for the public release.
Would love to get feedback on the interaction design, responsiveness, or features!
답글 남기기