WHAT'S BUILT, AND WHAT'S NEXT
The last post was about why Spook OS exists. This one is about what it actually does — and where it's going.
The whole thing runs on one premise: I just need a web browser to work. Everything below is a consequence of taking that seriously.
THE MACHINE
Spook OS is a computer that lives in a single web page. Not a page with an app on it — the page is the machine. One HTML file, no frameworks, no libraries, no build step. It draws everything on a single canvas using a 5x7 pixel font I built character by character, so there isn't a button or a text box or a scrollbar anywhere in it. There's a command line at the bottom, and cards on the screen, and that's the whole interface.
That sounds like nostalgia, and part of it is. But it's also the most portable thing I know how to build. A single file with no dependencies can't rot. Nothing it needs can be discontinued.
The rules I've been holding it to:
- It boots from one file and makes no outside requests to start.
- It runs on old, weak hardware.
- The system itself knows nothing about blogging, or chat, or any particular use — those are things you plug into it.
- The entire machine is one readable chunk of JSON you can save, encrypt, and carry.
Every decision gets checked against those four. A few features got redesigned because they failed one.
WHAT WORKS RIGHT NOW
This post was written inside the terminal and pushed to this site with one command. The server side is a single PHP file you drop on any web host — the cheapest shared hosting works fine. It takes your post, saves it, and regenerates the whole site as plain static pages: the index, each post, an RSS feed, and a search index. Nothing is running when you read this. There's no database. There's no login.
The important part isn't that I can do this. It's that anyone can. Type /node in the terminal, get the server file, put your own secret in it, upload it to your own host, and you're publishing to your own domain through the same terminal. I'm not hosting your blog. You are.
IT EDITS LIKE A REAL EDITOR
This took a few tries. The first version could only add text to the end and delete backwards — writing a post meant never making a mistake in paragraph one. Now there's an actual cursor: you can arrow around, click or tap right where you want to be, and fix things.
It also does the full loop. I can write a post on my iPhone, publish it, then days later pull it back down onto my laptop, fix a typo, and push it back up. The post keeps its original date and picks up an "updated" stamp. The site doesn't know or care which device I was holding.
IT HANDLES PHOTOS, CAREFULLY
Attach an image and it gets resized in your browser before it goes anywhere. That's partly to keep uploads small on bad connections — but the re-encoding also strips the EXIF metadata, which on a phone photo includes the GPS coordinates of where you were standing. That happens by default, without configuring anything. What uploads is the picture, not the location.
IT HAS AN ENCRYPTED DISK
The store command seals the entire machine — every card, every draft, every setting — with a passphrase, and stores it on your host. The passphrase never leaves your browser. Your host holds a blob it cannot read.
Which means this works: walk up to any computer, open the page, mount your host, type your passphrase, and your machine reassembles around you. Close the tab and nothing stays behind. That's the thing I actually wanted when I started this.
IT HAS DEAD DROPS
Sealed messages left on your host under a passphrase. The server can't read them, can't even see the channel's real name, and they expire on their own. No accounts, no app, no relay running anywhere. It's the ugliest, most durable kind of messaging: leave a note, someone else picks it up.
IT INSTALLS
As of this week you can add it to a home screen. It gets the ghost icon, opens without browser chrome, and boots with no connection at all. The icon is drawn from the same pixel grid as the cursor inside the machine, which pleases me more than it probably should.
WHAT'S COMING
Seeing things. The terminal can attach photos but can't display them — it only speaks in 5x7 pixels. So the next release teaches it to render images in 1-bit, dithered, in whatever phosphor color you're running. I'm using Atkinson dithering, the algorithm from the original Macintosh. What it does to a photograph is basically what a 19th century engraver did to one: throw away the tones and keep the marks.
Reading. Spook OS publishes RSS. Next it reads RSS — add feeds, scroll through them in the terminal. The interesting consequence: every Spook node publishes a feed and a manifest, so one machine can follow another one directly. A small decentralized network built entirely out of open standards from 1999.
Conversations. Dead drops work but they're clumsy — you retype the passphrase every time. Next they get names, they render as proper threads, and a watch command that checks for new messages on its own. That turns dead drops into slow chat.
An assistant, optionally. An LLM you can talk to inside the terminal — but with the API key living on your server, not in the browser, and off by default. It can suggest commands. It can't run them. It's the only feature that inherently talks to a company's servers, so it's a plug-in, not a part.
A language. Eventually Spook OS gets programming, and the plan is that programs are just cards — written in JSON, stored like anything else, saved and encrypted and published like anything else. Load someone's program from their site like swapping a cassette.
Live chat. The last piece, and the only one that needs a real server running somewhere. Browser-to-browser, encrypted, rooms that exist only while people are standing in them.
THE POINT
None of this is trying to be a better text editor or a better blogging platform. There are excellent ones. What I wanted was something that couldn't be taken away from me — not by an OS update, not by a subscription change, not by a laptop aging out of support.
A single file that runs anywhere, saves itself to a host I control, and does nothing I didn't ask for. If it all disappeared tomorrow, I could rebuild it from a copy on a USB stick.
Turns out that's enough to write a blog with.
The machine is at https://spookos.com — type /help.