Windows 95 Web Simulator

Inspiration

Remember the satisfying click of Windows 95 buttons? The excitement of launching Minesweeper during a "quick break"? The nostalgic charm of that teal desktop wallpaper?

We were inspired by the realization that an entire generation of developers has never experienced the iconic Windows 95 interface that shaped personal computing. We wanted to bridge that 30-year gap and bring the magic of 1995 computing to the modern web - pixel-perfect, fully functional, and accessible to anyone with a browser.

What it does

Our Windows 95 Web Simulator is a complete recreation of the classic operating system that runs entirely in your browser. It's not just a static mockup - it's a living, breathing desktop environment featuring:

  • Functional Applications: Calculator with full arithmetic operations, Notepad for text editing, Minesweeper with the original gameplay mechanics, and File Explorer for navigation
  • Authentic Window Management: Drag, resize, minimize, maximize, and focus windows with proper z-indexing and layering
  • Interactive Desktop: Double-click desktop icons to launch programs, right-click for context menus
  • Start Menu & Taskbar: Navigate programs through the classic Start menu, monitor running applications in the taskbar with live clock
  • Pixel-Perfect Aesthetics: Every border, shadow, button state, and visual detail meticulously recreated using modern CSS

How we built it

We chose modern web technologies to recreate vintage computing:

  • React & TypeScript: Built a component-based architecture where each application and window is a self-contained component
  • Tailwind CSS: Crafted pixel-perfect Windows 95 styling with custom border utilities to recreate those iconic 3D button effects
  • Custom State Management: Developed a sophisticated window management system handling multiple concurrent applications, z-indexing, and window states
  • Responsive Design: Ensured the experience works across different screen sizes while maintaining authenticity

The biggest technical challenge was creating the window management system that feels native to Windows 95 - handling focus changes, proper layering, drag boundaries, and state persistence across minimize/restore cycles.

Challenges we ran into

CSS Archaeology: Recreating Windows 95's distinctive visual style required deep research into how 90s UI elements were constructed. Those characteristic 3D borders, button press states, and color schemes needed to be reverse-engineered using modern CSS.

Window Management Complexity: Building a multi-window environment in a single-page application presented unique challenges. We had to handle window focus, z-index management, drag boundaries, and state synchronization between the taskbar and actual windows.

Authentic Behavior: Making interactions feel genuinely Windows 95-like meant studying the original OS extensively. Every click, hover state, and animation needed to match the original timing and feel.

Performance Optimization: Running multiple applications simultaneously while maintaining smooth dragging and resizing required careful optimization of React re-renders and state management.

Accomplishments that we're proud of

  • 100% Functional Recreation: Every feature actually works - this isn't just a visual mockup but a fully operational desktop environment
  • Zero External Dependencies: Built the entire window management and application system from scratch without relying on existing desktop-in-browser libraries
  • Authentic User Experience: Achieved pixel-perfect visual accuracy and behavior that genuinely feels like using Windows 95
  • Modern Architecture: Demonstrated how classic interfaces can be rebuilt using contemporary web technologies and best practices
  • Cross-Browser Compatibility: Works seamlessly across all modern browsers with responsive design principles

What we learned

This project was a masterclass in the evolution of web development. We gained deep appreciation for:

  • The complexity of operating system UX: Even "simple" OS interactions involve intricate state management and user feedback systems
  • CSS as an art form: Recreating vintage aesthetics pushed our CSS skills to new levels, especially working with borders, shadows, and gradients
  • The importance of attention to detail: The difference between "close enough" and "pixel-perfect" is what makes the experience truly nostalgic and immersive
  • React's flexibility: The component model proved excellent for building complex, stateful desktop applications
  • Historical UI design principles: Windows 95's interface patterns are surprisingly sophisticated and user-friendly, teaching us valuable lessons about intuitive design

What's next for Windows 95 Web Simulator

Expanded Application Suite: We plan to add more classic Windows 95 applications like Paint, Solitaire, Media Player, and WordPad with full functionality.

File System Simulation: Implement a virtual file system with actual file operations, allowing users to create, edit, and organize documents within the simulator.

Network Capabilities: Add a simulated dial-up internet experience with a basic web browser showing period-appropriate websites.

Customization Options: Allow users to change wallpapers, color schemes, and desktop arrangements, just like the original OS.

Educational Mode: Create guided tours and interactive lessons about 90s computing history for educational purposes.

Collaboration Features: Enable multiple users to share the same desktop environment for nostalgic co-computing experiences.

Mobile Optimization: Adapt the interface for touch devices while preserving the authentic Windows 95 experience.

The project demonstrates that with modern web technologies, we can preserve and celebrate computing history while making it accessible to new generations. Our Windows 95 simulator isn't just nostalgia - it's a bridge between past and future, showing how far we've come while honoring where we started.


Built with: React, TypeScript, Tailwind CSS, ❤️ and lots of 90s nostalgia

Built With

  • bolt
  • ionos
  • netlify
Share this project:

Updates