Skip to content
Eremie HQ

I rebuilt my homepage as Windows 98

Why my personal site boots like an operating system, and the dual-mode trick that keeps it fast and crawlable.

๐Ÿ“… 28 Jun 2026ยท 1 min readmetafrontendnext.js

A personal site should be fun. Mine is a faux operating system: it boots, you get a desktop, and every section is a draggable window. Netscape is just one app among many.

The obvious risk with a stunt like this is that the stunt eats the content. A digital garden is no good if a search engine can't read it and a screen reader can't navigate it. So the whole thing runs in dual mode.

The dual-mode trick

Every route renders real, server-side content inside a plain "reader" frame โ€” semantic HTML, normal links, works with JavaScript switched off. That's the source of truth. The desktop shell is a progressive enhancement that mounts over the top once the browser has hydrated.

Server render  โ†’ reader frame (crawlable, accessible, no-JS)
After hydrate  โ†’ desktop shell mounts over it (windows, taskbar, Start menu)

Deep links still work: visiting /garden/kelly-criterion boots the desktop with the right window already open and focused. Back and Forward behave. The URL and the window are kept in sync by a small bridge.

The window manager

I hand-rolled it rather than reaching for a library, because the fun is in the details: 16-bit bevels, a Start menu, a taskbar clock pinned to my actual timezone, and windows you can drag, resize from any edge, minimise, and maximise. State lives in a reducer; your layout is saved to localStorage so the desktop remembers itself between visits.

It's deliberately over-engineered for what it is. That's the point โ€” it's my computer, and you're welcome to poke around it.

If you want the substance instead of the theme, open My Computer and read about the things I've built, or wander into the garden.

Eremie Gillowei ยท Preston, UK
eremiehq.com