explaingit

dustinbrett/daedalos

12,628JavaScriptAudience · generalComplexity · 3/5Setup · easy

TLDR

A fully functional desktop environment that runs inside a web browser tab, with a taskbar, file explorer, code editor, game emulators, and an AI image generator, no installation needed.

Mindmap

mindmap
  root((daedalOS))
    What it does
      Browser desktop
      Virtual file system
      Multi-window UI
    Built-in apps
      Code editor
      PDF and image viewer
      Terminal with Git
    Emulators
      DOS emulator
      x86 disk images
      Console ROM player
    AI features
      Stable Diffusion
      AI chat agent
      AI wallpapers
    Tech
      React frontend
      WebAssembly
      IndexedDB storage
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Explore a browser-based desktop experience by visiting the site and using built-in apps like the code editor and file manager.

USE CASE 2

Play classic DOS games or run ROM files for retro consoles directly in the browser using built-in emulators.

USE CASE 3

Generate AI images locally in the browser using the built-in Stable Diffusion app without any server.

USE CASE 4

Drag and drop files from your computer into the virtual file system to view PDFs, images, or videos inside the browser desktop.

Tech stack

JavaScriptReactWebAssemblyIndexedDB

Getting it running

Difficulty · easy Time to first run · 5min

In plain English

daedalOS is a desktop environment that runs entirely inside a web browser. Rather than an operating system that installs on a computer, it is a website that looks and behaves like a windowed desktop: you see a taskbar, a start menu, a file explorer, and multiple resizable application windows, all running within a single browser tab. The file system is virtual and stores your files in the browser's built-in IndexedDB storage, meaning files persist between sessions but live only in that browser. You can drag and drop files from your actual computer into the environment, browse folders with thumbnail or detail views, create archives, extract compressed files, and use familiar keyboard shortcuts for copy, paste, delete, and rename. The built-in applications cover a wide range. There is a code editor, a paint program, a PDF viewer, a photo viewer (including unusual formats like HEIF and JPEG XL), a video player that also plays YouTube links, a Markdown viewer, a rich text editor, and a terminal with Git and Python support. Several emulators are included: a DOS emulator, an x86 emulator that can run disk images, a Flash player emulator, and a console emulator that plays ROM files from many classic game systems. A Stable Diffusion app can generate images using AI, running locally in the browser via WebAssembly. The taskbar shows window previews when you hover over them and includes a search menu with recent files. An AI chat agent is integrated into the taskbar as well. The clock runs in a background worker and can sync to a network time server. Wallpaper options include animated backgrounds, NASA's Astronomy Picture of the Day, and AI-generated images. The project is built with JavaScript and React and is open source.

Copy-paste prompts

Prompt 1
How does daedalOS implement a virtual file system inside the browser using IndexedDB so files persist between sessions?
Prompt 2
I want to add a new built-in application window to daedalOS. What React components do I need to create and how does the window manager work?
Prompt 3
How does daedalOS run DOS games in the browser? What emulator library does it use and how is it integrated with WebAssembly?
Prompt 4
How does the Stable Diffusion integration in daedalOS run AI image generation locally in the browser without a server?
Prompt 5
How does the taskbar in daedalOS show live window previews on hover, what rendering technique does it use?
Open on GitHub → Explain another repo

← dustinbrett on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.