Jakub Rimek.
Case study · For the fun of it

KubaOS Desktop

This one has no operational problem to solve. I wanted a memorable way to show the whole collection of tools in one place – and, honestly, to see how far I could push a browser. So I built an operating system that runs as a website.

The problem

A list of links is a dull way to show a body of work. I wanted something people would actually play with, that also showed what plain code can do with no framework underneath it.

The solution

KubaOS looks and behaves like a desktop. Every tool is an icon that opens in a draggable, resizable window. There's a working file system with a recycle bin, a real terminal, a paint app, a calculator, small games and a phone shell – plus wallpaper that shifts with the actual daylight over Fife.

KubaOS Desktop in use
KubaOS – tool windows, a terminal and the Fife-daylight wallpaper.

What changed

It's about 14,800 lines of hand-written JavaScript with no framework, a strict security policy, and no calls out to anything. The terminal has tab-completion, saved history and a few jokes hidden in it; there are 35 achievements and a handful of easter eggs to find.

14,800lines of vanilla JavaScript
0frameworks or external calls
35achievements to find

See it live

It’s live on my tools hub – open a window, or find the terminal.

Open kubatools.uk → Ask me about it