YesterPlayOS is a lightweight, frontend-only web application that simulates a classic Windows 95-inspired desktop interface. It provides a nostalgic and highly configurable environment with windows, a taskbar, a Start menu, and various built-in utilities.
- Nostalgic UI: Authentic Windows 95 aesthetic with classic colors, fonts, and window decorations.
- Window Management: Draggable and resizable windows with z-index management, focus handling, and minimize/maximize support.
- Taskbar & Start Menu: Functional taskbar with a clock and a Start menu for launching applications.
- Pure Frontend: Built with vanilla HTML, CSS, and JavaScript—no external frameworks required.
- Highly Configurable: Easily customize shortcuts, icons, and window content through a central
config.jsonfile. - Cross-Platform: Supports both desktop and mobile browsers with touch interaction support.
- PWA Support: Can be installed as a standalone application on desktop and mobile.
- Persistence: Uses browser session and local storage for settings and application state (like Notepad content).
- My Computer: View system information (platform, browser, resolution) and discover helpful tips.
- System Settings: Customize your desktop background URL, global window title, and the OS theme color.
- Notepad: A functional text editor with file opening/saving capabilities and real-time cross-window synchronization.
- Webamp: A classic Winamp-style music player (Webamp).
- DOOM (js-dos): The classic FPS running directly in your browser via js-dos.
- Stocks: A retro-themed terminal for tracking simulated market data.
- Video Guide: An embedded YouTube player for tutorials or guides.
- Spotify: Integration for playing Spotify playlists directly within the OS.
- Full Screen: Quickly toggle browser full-screen mode from the desktop.
- Install Application: A dedicated shortcut to trigger the PWA installation prompt.
The desktop environment is driven by yesterplay/config.json. You can modify this file to change the global OS settings or add/remove shortcuts.
desktop.background: The default background image URL or CSS color.desktop.title: The title displayed in the browser tab.desktop.theme_color: The primary theme color (hex) for window headers and highlights.
Each entry in the shortcuts array supports the following properties:
| Property | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | The display name of the shortcut and window title. |
icon |
string | Yes | Path to the .png icon file. |
content |
string | Yes | The HTML content or JavaScript code for the application. |
enabled |
boolean | No | Whether the shortcut is active and visible (default: true). |
align |
string | No | Desktop alignment: "left" or "right" (default: "left"). |
autostart |
boolean | No | Whether the app opens automatically on startup (default: false). |
js_only |
boolean | No | If true, executes the content as a JavaScript module without opening a window (default: false). |
The source code for YesterPlayOS is licensed under the MIT License.
