๐Ÿ–ฅ๏ธ Web-OS Portfolio

March 4, 2026 ยท View on GitHub

A fully interactive Operating System-style portfolio hosted on GitHub Pages.
๐ŸŒ Live Demo: pravin-python.github.io/Web-OS-Portfolio

A real desktop OS experience in the browser โ€” built with React, TypeScript, Zustand, and TailwindCSS v4. Drag windows, use the terminal, open apps, play games, and explore my work โ€” all without a backend.


โœจ Features

๐Ÿ—‚๏ธ Desktop Environment

  • Window Manager โ€” Draggable, resizable, minimizable, maximizable windows with macOS-style traffic light buttons
  • Taskbar & Dock โ€” Running apps shown in taskbar with minimize/restore support
  • System Tray โ€” Clock, notifications, and quick-access menu
  • Right-click Context Menu โ€” Desktop-level actions
  • Mobile Support โ€” Responsive layout with mobile orientation guard and popup

๐Ÿ“ฑ Installed Applications

AppRouteDescription
About Me/aboutDeveloper profile โ€” skills, education, experience
Contact Center/contactEmail, LinkedIn, GitHub, social links
AI Predictor/ai-predictorML model-powered interactive predictions
AI Research Lab/model-logsModel experiments and training logs
Datasets/datasetsDataset viewer for ML experiments
DSA Lab/dsa-labInteractive Data Structures & Algorithms explorer with Python & Java code
ML Lab/ml-labMachine Learning learning lab โ€” concepts, algorithms, visualizations
Security Toolkit/securityURL/phishing detection, hashing, encryption tools
Terminal/terminalIntegrated CLI with OS commands (ls, cd, run snake, help, etc.)
Files/filesVirtual file system explorer (JSON-based)
Notepad/notesLocal notepad with localStorage persistence
System Logs/system-logsReal-time OS event log viewer
Neural Snake/games/snakeCyberpunk snake game with neon visuals
TicTacToe AI/games/tictactoeMinimax algorithm AI opponent
Logic Grid 2048/games/2048Classic 2048 sliding puzzle
Trash/trashTrash bin for deleted virtual files

๐Ÿ› ๏ธ Tech Stack

LayerTechnology
FrameworkReact 19 + TypeScript
Build ToolVite
State ManagementZustand
StylingTailwindCSS v4
RoutingReact Router v7 (BrowserRouter)
Window Interactionsreact-rnd
IconsLucide React + Custom SVGs
PersistencelocalStorage
HostingGitHub Pages

๐ŸŒ Live Deployment

URL: https://pravin-python.github.io/Web-OS-Portfolio

This app uses React Router BrowserRouter with clean paths (no #).
A custom public/404.html handles GitHub Pages SPA deep-link redirects, allowing direct URL access to any route like /about or /dsa-lab.


๐Ÿ“ฆ Local Development

1. Clone

git clone https://github.com/pravin-python/Web-OS-Portfolio.git
cd Web-OS-Portfolio

2. Install

npm install

3. Run

npm run dev

App runs at: http://localhost:5173/Web-OS-Portfolio/


๐Ÿš€ Build & Deploy

npm run build

Generates a dist/ folder. Deploy it to GitHub Pages with:

npm run deploy

Requires gh-pages and a deploy script in package.json.


๐Ÿ“‚ Project Structure

src/
โ”œโ”€โ”€ apps/               # Individual applications (Terminal, Games, DSALab, MLLab, etc.)
โ”œโ”€โ”€ core/               # OS core (appRegistry, appLauncher, state, device detection)
โ”‚   โ”œโ”€โ”€ appRegistry.ts  # All app definitions & routes
โ”‚   โ”œโ”€โ”€ appLauncher.ts  # App launch logic
โ”‚   โ””โ”€โ”€ state/          # Zustand stores (windows, notifications, etc.)
โ”œโ”€โ”€ components/         # Shared UI components (Window, Taskbar, Dock, Tray, etc.)
โ”œโ”€โ”€ layouts/            # DesktopLayout โ€” wraps all apps in the OS shell
โ”œโ”€โ”€ router/             # OSRouter โ€” bridges URL changes to window management
โ”œโ”€โ”€ hooks/              # Custom hooks (useDraggable, etc.)
โ””โ”€โ”€ data/               # Static JSON data (filesystem, projects, skills)

public/
โ”œโ”€โ”€ svg/                # App icons (system/, apps/)
โ”œโ”€โ”€ 404.html            # GitHub Pages SPA redirect handler
โ”œโ”€โ”€ manifest.json       # PWA manifest
โ””โ”€โ”€ sitemap.xml         # SEO sitemap

๐Ÿ”’ No Backend Required

This is a 100% frontend-only static application.

  • No server, no database, no API calls
  • All data served from static JSON files
  • State persisted via localStorage
  • Deployable on any static host (GitHub Pages, Vercel, Netlify)

๐Ÿ‘จโ€๐Ÿ’ป Author

Pravin Prajapati โ€” Freelance Full-Stack Developer
Python ยท Java ยท AI Agent Development ยท Web Scraping ยท PHP eCommerce


๐Ÿ“„ License

MIT License