A retro web OS built with vanilla HTML, CSS, and JavaScript. Solarized color scheme, pixel-art style.
Tabs:
- HOME - Welcome screen with ASCII art and system status
- BONK - Bouncing ball physics game
- BLOK - Breakout/brick-breaker game
- CALC - Calculator with persistent state
- DRAW - Pixel-art drawing canvas
- NOTE - Notepad with on-screen keyboard (uppercase only)
- BOOK - E-reader for plain-text books in
books/(search, page jump, adjustable text size)
Other:
- Dark/light theme toggle (Solarized)
- Sound effects with mute toggle
- Works on desktop and mobile
- PWA with offline support (manifest + service worker)
- ARIA labels, keyboard navigation, screen reader support
- Easter eggs: double-tap interactions and randomization effects
Open index.html in a browser. No build step or dependencies needed.
General:
- Click/tap tabs to switch apps
- Theme toggle (▨) in menu bar
- Sound toggle (♫) in menu bar
- Reset (☒) to reload
- Click footer to view credits
BONK:
- Drag balls to throw them
- Double-tap to reset
BLOK:
- Mouse/touch to move paddle
- Arrow keys or A/D also work
- Double-tap to toggle rainbow/random colors
- Break all bricks to win
CALC:
- Click buttons or use keyboard
- Double-tap blank area to randomize number keys
DRAW:
- Click/drag to draw
- Double-tap to clear
NOTE:
- Click on-screen keyboard to type (uppercase only)
- Click text area to move cursor
- Desktop keyboard also works
- Hold backspace to delete continuously
- Double-tap text area to randomize keys
BOOK:
- Browse and open any
.txtfile frombooks/ - Search, jump to a page, and change text size
- Progress saved to local storage
- Swipe to turn pages
Open the app directly to a specific tab or book using URL query parameters.
homehomehome/
├── index.html # Main HTML
├── bonk.js # Bouncing balls game
├── blok.js # Breakout game
├── calc.js # Calculator
├── draw.js # Drawing canvas
├── note.js # Notepad
├── book.js # E-reader
├── utils.js # Shared utilities and sound
└── sounds/
├── A2.mp3
├── B2.mp3
├── B3.mp3
├── D3.mp3
├── D4.mp3
├── E3.mp3
├── G2.mp3
├── G3.mp3
├── G4.mp3
└── click.mp3
└── books/
├── aroundtheworld.txt
├── awakening.txt
├── callofcthulhu.txt
├── frankenstein.txt
├── janeeyre.txt
├── littlewomen.txt
├── mobydick.txt
├── prideandprejudice.txt
├── rubaiyat.txt
├── thirtyninesteps.txt
├── treasureisland.txt
└── yellowwallpaper.txt
- No frameworks or libraries
- Solarized color scheme by Ethan Schoonover
- Web Audio API for sound with homemade CC0 samples
- Responsive canvas with device pixel ratio support
- Low-fi ethos: Low Tech Magazine
- Colour palette: Solarized
- Interface: Sakun Acharige
- Fictional web OS: Windows93.net
- Real web OS: Infinite Mac
- BLOK adapted from: Mozilla MDN
- BONK and DRAW adapted from: Playpip
- All books from: Project Gutenberg
- Sounds by: me ☺︎
Requires JavaScript and Web Audio API support.
MIT — see LICENSE
Lewis Dryburgh, 2026
Who needs the cloud? We're staying Homehomehome.