A complete web-based operating system inspired by Windows XP, built with pure vanilla JavaScript. No frameworks, no dependencies—just pure nostalgia.
🚀 Launch Demo • 📖 Documentation • 🎯 Roadmap • 🐛 Report Bug
|
Boot System
|
Core Kernel
|
|
Taskbar & Start Menu
|
Desktop & Windows
|
- ✅ IndexedDB storage backend
- ✅ File operations (create, read, write, delete, copy, move)
- ✅ Directory operations (create, list, delete)
- ✅ Windows-style path resolution
- ✅ MIME type detection
- ✅ Default Windows XP folder structure
- ✅ Persistent storage across page reloads
- ✅ Event-driven file system operations
- ✅ File Explorer - Navigate folders with back/forward/up buttons & address bar
- ✅ Notepad - Full text editor with File/Edit/Format menus & VFS integration
- ✅ Terminal - Command prompt with 15+ commands & VFS integration
- ✅ Paint - Full drawing application with tools and VFS support
- ✅ Control Panel - System settings, themes, and user configuration
- ✅ Calculator - Basic arithmetic and memory functions
- ✅ Minesweeper - Classic Windows puzzle game with difficulty levels
- ✅ Solitaire - Klondike Solitaire card game with drag-and-drop
- ✅ Registry Editor - Manage file associations and system settings (Internal Service)
- ✅ Clipboard System - Copy/Paste support for text and files, including cross-app integration
- ✅ Drag & Drop - Drag files to/from Desktop and Explorer, specific drop zones, and icon rearrangement
- ✅ Notification Center - Toast notifications, alerts, and action queues
- ✅ Desktop Advanced - Drag to rearrange icons, "Open With" context menus, and shortcut creation
RetroWeb/
├── 🚀 boot/ # Boot sequence and BSOD
├── 🧠 kernel/ # Core OS kernel
├── 🖼️ system/ # Window manager and desktop services
├── 💾 filesystem/ # Virtual filesystem
├── ⚙️ services/ # System services
├── 🎨 ui/ # Themes and styling
├── 📱 apps/ # Built-in applications
├── 🧪 test/ # Test files and documentation
├── 📄 index.html # Main entry point
└── ⚙️ os.config.json # System configuration
Simply open index.html in a modern web browser to boot the system:
# Clone the repository
git clone https://github.com/nohanbaloch/retro-web.git
# Navigate to the project
cd retro-web
# Open in browser
start index.html # Windows
open index.html # macOS
xdg-open index.html # LinuxFor the best experience, use the included PowerShell server:
.\start-server.ps1Then navigate to http://localhost:8080 in your browser.
- Click the Start button → Start menu slides in
- Double-click "My Computer" → Opens system window
- Launch applications → From Start Menu or Desktop
- Drag windows → Move them around
- Minimize/Maximize → Full window management
- Watch the clock → Live updates every second!
| Status | Phase | Description | State |
|---|---|---|---|
| ✅ | Phase 1 | Foundation & Boot System | Complete |
| ✅ | Phase 2 | Desktop Environment | Complete |
| ✅ | Phase 3 | Virtual Filesystem | Complete |
| ✅ | Phase 4 | Built-in Applications | Complete |
| ✅ | Phase 5 | Advanced Features | Complete |
| ✅ | Phase 6 | Security & Sandboxing | Complete |
| 🚧 | Phase 7 | Plugin System | Next |
- Language: Pure Vanilla JavaScript (ES6+)
- Modules: ES6 Modules
- Architecture: Event-driven
- Styling: Custom CSS (Windows XP theme)
- Storage: IndexedDB (planned)
- ✨ No frameworks - Pure vanilla JavaScript
- 🎨 100% XP authentic - Pixel-perfect Windows XP recreation
- 🏗️ Modular architecture - Clean, maintainable code
- 🔒 Sandboxed apps - Secure process isolation
- 📦 No build tools - Works directly in browser
- Total Files: 35+ core files
- Lines of Code: ~5,500+
- Components: 15+ major systems
- Visual Fidelity: 100% Windows XP authentic
- Phase 2 Showcase - Feature showcase and interactive testing
- General Testing - Complete testing instructions
- Test Folder - All test files and documentation
| Browser | Status |
|---|---|
| Chrome/Edge | ✅ Fully Supported |
| Firefox | ✅ Fully Supported |
| Safari | |
| Opera | ✅ Fully Supported |
- � Architecture Guide
- � Boot & BSOD Specification
- � Implementation Summary
- 🎯 Phase 2 Summary
- �️ Development Roadmap
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
© 2026 Nohan Baloch. All rights reserved.
If you like this project, please consider giving it a ⭐ on GitHub!
Built with ❤️ and nostalgia for Windows XP
