ryOS ryOS / Docs
GitHub Launch

Overview

ryOS is a web-based desktop environment that brings the nostalgia of classic operating systems to modern browsers. Experience the charm of Mac OS X Aqua, System 7, Windows XP, and Windows 98—all running in your browser with 24 fully-functional apps, an AI assistant, and a complete virtual file system.

Whether you're exploring the retro aesthetics, building HTML applets, or chatting with Ryo (the AI assistant), ryOS offers a unique blend of nostalgia and modern web technology.

graph TB
    subgraph Presentation["Presentation Layer"]
        Apps[24 App Modules]
        UI[UI Components]
        Themes[4 Themes]
    end
    
    subgraph State["State Management"]
        Zustand[Zustand Stores]
    end
    
    subgraph Data["Data Layer"]
        IndexedDB[(IndexedDB)]
        LocalStorage[(LocalStorage)]
        API[Vercel + Bun API]
    end
    
    subgraph External["External Services"]
        AI[AI Providers]
        Pusher[Real-time
Pusher / Local WS] Redis[(Redis
Upstash / Standard)] ObjectStorage[(Object Storage
Vercel Blob / S3)] end Apps --> Zustand UI --> Zustand Zustand --> IndexedDB Zustand --> LocalStorage Zustand --> API API --> AI API --> Redis API --> ObjectStorage Apps --> Pusher

Quick Start

I want to...Go to
Learn about the appsApps Overview
Understand the architectureArchitecture
Understand the API layerAPI Architecture
Build with the frameworkApplication Framework
Work with AI featuresAI System
Use the APIsAPI Reference

Key Features

  • 24 Built-in Apps: Finder, TextEdit, Paint, iPod, Infinite Mac, Winamp, Calendar, Dashboard, Contacts, CandyBar, and more
  • AI Assistant (Ryo): Chat, tool calling, app control, code generation
  • Virtual File System: IndexedDB-backed with lazy loading and cloud sync
  • Real-time Chat: RESTful rooms with AI integration
  • Audio System: Synthesizer, soundboard, TTS, and UI sounds
  • Component Library: shadcn/ui + custom components with i18n
  • Cloud Sync: Multi-domain auto-sync with individual file sync, realtime notifications, and switchable storage (Vercel Blob / S3-compatible)
  • Unified API Layer: Shared apiHandler + middleware utilities for consistent CORS, method routing, auth, and error handling
  • Usage Analytics: Lightweight per-day API analytics with admin dashboard
  • Runtime Reliability & Performance: App/desktop error boundaries, typed app event bus primitives, lazy-loaded non-default locales, and worker-offloaded Spotlight indexing

Tech Stack

CategoryTechnologies
FrontendReact 19, TypeScript, Tailwind CSS v4, shadcn/ui, Framer Motion
StateZustand with localStorage/IndexedDB persistence
AudioTone.js, WaveSurfer.js, Web Audio API
3DThree.js (shaders)
Text EditorTipTap
StorageIndexedDB, LocalStorage, Redis (Upstash REST / standard), Vercel Blob / S3-compatible
API RuntimeVercel Node.js handlers + standalone Bun server
AIOpenAI, Anthropic, Google via Vercel AI SDK
Real-timePusher or local WebSocket (with Redis pub/sub fanout)
Package ManagerBun ([email protected])
BuildVite, Bun
DesktopTauri (macOS, Windows, Linux)
DeploymentVercel (web), standalone Bun API (self-hosted), Docker / Coolify

Project Structure

├── api/              # Node-style API endpoints (Vercel + standalone Bun server)
│   └── _utils/       # Shared API utilities (api-handler, middleware, auth, redis, storage, realtime, analytics, etc.)
├── public/           # Static assets
├── src/
│   ├── api/          # Frontend API clients (auth, rooms, admin, songs, listen, core, telegram)
│   ├── apps/         # 24 app modules
│   ├── components/   # Shared React components
│   ├── config/       # App registry
│   ├── hooks/        # 44 custom hooks
│   ├── lib/          # Libraries
│   ├── stores/       # 31 Zustand stores
│   ├── styles/       # CSS
│   ├── themes/       # 4 theme definitions
│   ├── types/        # TypeScript types
│   └── utils/        # Utility functions
├── src-tauri/        # Desktop app config
└── scripts/          # Build scripts