Tickd.ai
← The Tickd Guide

Inspiration

How to Design an Interactive 1990s Desktop Simulator in the Browser Using Claude 3.5 Sonnet

Recreate the grey-bevelled, floppy-disk-clicking glory of late 90s operating systems in a single promptable browser app with Claude 3.5 Sonnet.

Updated 10/10/2026

Nostalgia Meets the Interactive Canvas

There is a specific joy in the clunky, bevelled aesthetic of late-1990s operating systems. Before flat design and infinite scroll took over the web, we had solid grey dialogue boxes, mechanical clicking sound effects, pixelated desktop icons, and the satisfying drag-and-drop of individual application windows.

Building a fully functional retro desktop simulator used to require writing custom state machines for window layering, coordinate tracking, and nested file directories. Now, Claude 3.5 Sonnet can build and refine a fully interactive retro OS directly in the browser using React and Tailwind CSS in a matter of minutes.

Whether you want to build a playful digital portfolio, a retro text-adventure launcher, or just a place to host your pixel art, this guide will show you how to prompt and assemble a fully interactive 90s desktop simulator.

Step 1: Mapping the System Architecture

Before you start throwing prompts at Claude, you need to define what makes a '90s desktop' actually feel alive. A basic system architecture should include:

  1. The Desktop Grid: A canvas with a vintage blue-green background (#008080), shortcuts for folders, and a trash can.
  2. The Window Manager: Draggable, stackable window frames with classic double-bevelled borders, minimize/maximize buttons, and active/inactive title bar states.
  3. The Taskbar: A permanent bottom bar with a 'Start' button, a cascading program menu, and a system tray showing a retro digital clock.
  4. Interactive Apps: A few simple, functional built-in widgets (like an interactive notepad, a paint program, and a retro terminal).

To understand more about building highly interactive interfaces using LLMs, you can browse our comprehensive glossary on agentic design patterns and UI rendering.

Step 2: The Core Prompt for the Desktop Environment

To build this in a single file (ideal for Claude’s React Artifacts environment), we need a prompt that establishes the complete state management for window dragging, focus z-indexing, and directory navigation.

Open your Claude workspace and input the following prompt:

`text Write a fully interactive, single-file React component that simulates a late-1990s desktop operating system (similar to Windows 95 or Mac OS 8).

Use Tailwind CSS for styling. The desktop background must be classic teal (#008080).

Implement the following core features: 1. Draggable, focusable Windows: Each window should have a double-bevel border, a custom title bar (blue when active, grey when inactive), minimize/maximize/close buttons, and support dragging via the title bar. 2. Z-Index Management: Clicking any window must bring it to the front of the screen. 3. Taskbar & Start Menu: A bottom bar featuring a functional 'Start' button that opens a vintage-style menu with list links to system programs. 4. Built-in Apps: - 'My Computer': A folder window containing file icons that can be double-clicked to open other apps. - 'Retro Notepad': A functional text area where users can type and 'save' notes to local state. - 'Command Prompt': A working terminal emulator where typing 'help', 'dir', or 'date' outputs appropriate retro system responses. - 'JS Paint': A primitive drawing canvas where users can click-and-drag to sketch in 8 retro colours.

Ensure all icons use pixel-art styling and buttons use crisp outset borders that indent when clicked. `

Step 3: Refining the Bevelled CSS and Nostalgic Details

Claude will generate a working desktop, but to make it truly look authentic, you need to polish the styling. The defining characteristic of 90s software is the lighting source: light always comes from the top-left, casting shadows to the bottom-right.

In standard CSS, you can achieve this classic 'outset' bevel look by using a combination of light and dark border shades on a light grey background (#c0c0c0). Add this custom CSS snippet to your project or ask Claude to integrate it into the Tailwind configuration:

`css .retro-bevel-outset { border-top: 2px solid #ffffff; border-left: 2px solid #ffffff; border-right: 2px solid #808080; border-bottom: 2px solid #808080; background-color: #c0c0c0; }

.retro-bevel-inset { border-top: 2px solid #808080; border-left: 2px solid #808080; border-right: 2px solid #ffffff; border-bottom: 2px solid #ffffff; background-color: #ffffff; }

.retro-button-active:active { border-top: 2px solid #808080; border-left: 2px solid #808080; border-right: 2px solid #ffffff; border-bottom: 2px solid #ffffff; padding-top: 3px; padding-left: 3px; } `

Ask Claude to swap its standard Tailwind border classes for these custom utility classes on the window components, buttons, and input fields. This simple change instantly elevates the project from a flat modern parody to an authentic-feeling recreation.

Step 4: Adding Audio and Keyboard Easter Eggs

To make the user experience truly memorable, add vintage audio cues. Ask Claude to implement sound triggers using standard browser synthesised web audio APIs (so you do not have to host audio assets):

> "Add a Web Audio synth function that triggers a tiny mechanical 'click' sound when buttons are clicked, a low-pitched double-beep when an error window pops up, and a rising chord chime when the system first 'boots' up."

Additionally, create a terminal command easter egg. In the Command Prompt app, implement a secret command like matrix or hack that triggers a cascading waterfall of green terminal characters across the virtual CRT screen.

Step 5: Hosting and Troubleshooting Your Virtual OS

Once the simulator is polished, you can host it easily on platforms like GitHub Pages, Vercel, or Netlify since it is a static frontend application.

If you want to quickly whip up some retro icon graphics or customized promotional banners for your desktop launch, check out our prompts generator to generate pixel-art design parameters for Midjourney.

Should you run into any performance lags when dragging windows, or if the z-index state management gets tangled up during rapid multitasking, browse our troubleshooting guides on the Claude articles hub to optimize your React event handlers.

claudeweb-developmentretro-computinginteractive-uireact

Keep going

Build something with the prompt generator, decode the jargon in the glossary, or compare the tools on our platform deep-dives.