A real phone OS, booting in a browser tab.
Glasshouse runs an unmodified 2017-era phone operating system on an ARM64 processor emulated in WebAssembly. You bring your device's restore image; your browser builds the disk and keeps it. Nothing is uploaded, and nothing proprietary is hosted here.
Desktop Chrome with 64-bit WebAssembly memory, about 10 GB of free browser storage and a fast machine. The first boot takes many minutes: bring a cup of tea.
Checks run in this tab and go nowhere. Choose a layer to read about it.
Four layers of glass, one phone inside.
Everything runs in this tab. The server only hands out static files: the emulator, the kernel and this page. The operating system itself comes from a file you already have.
1The emulator
QEMU, compiled to WebAssembly, with a JIT that turns ARM64 instructions into wasm as the guest runs. It emulates a Cortex-A76 with 2 GB of RAM, which is why it needs 64-bit WebAssembly memory.
2The kernel
A custom arm64 kernel with small drivers for the emulator's disk, console, touch input and frame buffer. It's the only system code this site serves.
3Your restore image
You download your device's restore image yourself and pick the file. The page reads it where it is; it isn't uploaded, and no copy lives on this server.
4The disk, in your browser
A worker unpacks the image and builds the system disk in your browser's private file storage (OPFS). It stays there for the next boot until you delete it.
Measured on our development builds: the instruction rate is a simple guest loop under Node 24, and the disk figures come from the restore image we test with (allocated size, with compression). Your machine and your image will differ.
What you need, honestly.
It's a whole phone running on a pretend processor. That costs memory, disk and time. The preflight at the top checks the first two for you.
| You need | Why |
|---|---|
| Desktop Chrome, current | 64-bit WebAssembly memory (memory64), private file storage (OPFS) and a fast wasm engine. Other browsers aren't there yet. |
| About 10 GB free browser storage | The disk takes about 9.1 GiB, plus room to build it. |
| A fast machine | Every guest instruction is translated twice: ARM64 to wasm, then wasm to your CPU. More cores and memory help; 8 GB of RAM is the floor. |
| Your device's restore image | About 6.2 GB, downloaded by you. The app tells you which build it expects. |
| Patience | The first boot takes many minutes. Keep the tab open and in front; later boots reuse the disk. |
What works, and what doesn't yet.
A research project, reported straight. This list moves as the work does.
| Part | Status | Notes |
|---|---|---|
| Building the disk from your restore image | Works | Built in the browser in about 4–5 minutes on an M1 Pro. |
| Kernel boot | Works | The kernel boots in the tab and mounts the disk from browser storage. |
| Lock screen and home screen | In progress | Reached with the same emulator compiled natively; timing it in the browser now. |
| Touch, home and side buttons | Partly | Mouse and touch, plus keyboard shortcuts; not yet tested end to end in the browser. |
| Disk kept between visits | Works | Journaled, so closing the tab mid-boot is safe. |
| Suspend and resume | Works | Saves the session in under a minute and resumes in seconds. |
| Several cores | Works | Up to four emulated cores on a machine with six or more. |
| Speed | Slow | The first boot takes a long time: the busiest phase runs about 20 times slower than native. |
| Sound, network, camera | Not yet | Not emulated. |
Last updated 24 October 2026.
Straight answers.
- Is anything uploaded?
- No. The restore image is read inside the tab and the disk is written to your browser's own storage. There's no account and no server-side processing.
- Why is it so slow?
- Your computer is pretending to be a phone, in a language your browser is pretending to be a processor in. It's faster than it sounds, and slower than you'd like.
- Why only desktop Chrome?
- It needs 64-bit WebAssembly memory, OPFS and a lot of RAM in one tab. Today that's desktop Chrome. Phones and tablets don't have the memory to spare.
- Where does the disk live, and how do I remove it?
- In this site's private file storage in your browser. Use Delete disk in the app, or clear this site's data in Chrome's settings.
- Why do I have to bring the restore image?
- Because it isn't ours to hand out. You download it for your own device; Glasshouse only reads it.
- Who makes this?
- An independent research project. It isn't affiliated with, or endorsed by, the maker of the operating system or the device.
Launch Glasshouse.
Pick your restore image, let the disk build, then power on. Keep the tab in front and watch the kernel log scroll by while it boots.
- 1Download your device's restore image
- 2Choose it in the app; the disk builds locally
- 3Power on, and give it a few minutes
Desktop Chrome, about 10 GB free browser storage.