A React-powered personal portfolio that looks and feels like Microsoft Windows 10
β‘ Live Demo: https://windows.dawidolko.pl
- About
- Project Structure
- Star History
- Getting Started
- Customization Guide
- Contributing
- License & Author
windows.dawidolko.pl is a customisable portfolio website that recreates the Windows 10 desktop experience entirely in the browser.
Under the hood itβs a standard React + JavaScript SPA, but on the surface it behaves like a miniature OS: draggable windows, a start menu, themed apps, wallpapers and more. Use it as a portfolio, rΓ©sumΓ©, or playful landing page. π±οΈπ₯οΈ
SIMULAING-WINDOW...
ββ .github/ GitHub Actions & issue templates
β ββ ISSUE_TEMPLATE/
β ββ workflows/
ββ node_modules/ Runtime dependencies
ββ public/ Static assets served at /
β ββ android-chrome-*.png
β ββ apple-touch-icon.png
β ββ favicon*.png|ico
β ββ index.html Main HTML shell
β ββ manifest.json PWA manifest
β ββ worker.js Service-worker
ββ src/ Application source
β ββ assets/ Images & fonts
β ββ components/ Re-usable React components
β ββ containers/ Page-level components
β ββ theme/ Global styles & variables
β ββ utils/ Helper functions & configs
β ββ App.* Root component & styles
β ββ index.* App entry point
β ββ serviceWorker.js PWA service worker registration
ββ .gitignore
ββ LICENSE MIT
ββ package*.json NPM metadata & scripts
ββ README.md You are here!
- Git β https://git-scm.com
- Node.js 16 + (includes npm) β https://nodejs.org
# 1. Clone the repo
git clone https://github.com/dawidolko/Windows-Simulaing-System-GUI
cd Windows-Simulaing-System-GUI/
# 2. Install dependencies
npm install # or pnpm / yarn
# 3. Start the dev server
npm startnpm run build # outputs an optimised bundle in /buildTip (WSL users) If youβre on Windows Subsystem for Linux, you might need an X-server or the Windows Node runtime. See Microsoftβs guide: https://aka.ms/wslg.
-
User profile Edit
src/utils/data/user.config.jswith your name, avatar, social links, etc. -
App list & sidebar Toggle built-in apps or the left sidebar in
src/utils/data/apps.config.js. -
Wallpapers Add images to
public/wallpapers/(create the folder if missing) and reference them inapps.config.js. -
Analytics (optional) Disable or enable Google Analytics / Firebase in
src/utils/data/project.config.js. -
Firebase keys (only if analytics is on) Create a
.envfile at the project root:REACT_APP_APIKEY=... REACT_APP_AUTH_DOMAIN=... REACT_APP_DATABASE_URL=... REACT_APP_PROJECT_ID=... REACT_APP_STORAGE_BUCKET=... REACT_APP_MESSAGING_SENDER_ID=... REACT_APP_APP_ID=... REACT_APP_MEASUREMENT_ID=...
-
EmailJS (optional contact form)
REACT_APP_EMAILJS_KEY=your_emailjs_key
Contributions are what make open source amazing! If you spot a bug π, want a new feature β¨, or simply improve the docs:
- Fork the project
- Create your branch
git checkout -b feat/awesome-feature - Commit your changes
git commit -m "Add awesome feature" - Push the branch
git push origin feat/awesome-feature - Open a Pull Request
-
License: MIT β do with it what you will π
-
Author: Dawid Olko
- Portfolio: https://dawidolko.pl
- GitHub: https://github.com/dawidolko
- LinkedIn: https://www.linkedin.com/in/dawidolko/
Made with β€οΈ, β and a nostalgic love for the Windows 10 aesthetic.