Rime
Rime is a hobby x86 operating system written from scratch, with a 32-bit x86 microkernel that is small on purpose. It owns scheduling, address spaces, IPC, and the system call gate, and nothing else. The system is deliberately built close to the hardware, with an emphasis on understanding and implementing the machinery rather than hiding it behind layers of abstraction.
It was designed for the Nokia Booklet 3G netbook, tested on QEMU and real hardware, and runs comfortably in 64 MB of RAM while providing a full graphical interface, TCP/IP networking, USB support, and a growing collection of applications.

Rime's kernel in a nutshell: L4-family microkernel, L4/Fiasco one-shot reply caps, seL4 cap semantics and notification bits, Mach queued IPC with priority inheritance and external pagers, Zircon flat-generation handles and syscall surface, plus custom streams, DMA stop plans, and a kernel-mediated signal default.
I started Rime because I wanted to understand what happens when a machine wakes up. Not in the abstract, but in the particular: the bootloader handing off to the kernel, the page tables being laid down, the first interrupt firing, the first window being drawn. Every subsystem, memory management, task scheduling, the VFS, the network stack, was built decision by decision, with no framework to hide behind. It's not a Linux distribution, and architecturally it borrows nothing from Windows. There's no Unix kernel underneath, no foreign userland patched in. I've been picking at it for years now, sometimes in long stretches, sometimes in the margins of a single evening. It's grown slowly, piece by piece, and it's not finished and never really will be. That's the point. Rime isn't trying to replace Linux or become the next big thing. It's a workshop. A place where the bones of the machine are visible and every component can be understood by one person.
The GUI is an unapologetic nod to the Windows 9x era, when buttons looked like buttons and interfaces didn't try to entertain you. Each button has a raised edge, a dark shadow on the right, a white highlight on the left. You know exactly where to press because the surface tells you: there are no animated transitions, nothing swells or glows on hover. The scrollbar is a gray rectangle with up and down arrows; it stays visible, never shrinking into a sliver that you have to hunt for. Title bars wear a simple gradient. The close button is a square with an X, like a tiny physical switch. Every widget was drawn by hand, and it shows. There's a special kind of honesty in that: a refusal to pretend the interface is anything other than a set of tools placed in front of you. The screen stays still: it waits for you to decide what matters. And in that stillness, it offers a calm that modern design has mostly forgotten how to leave alone.
Rime doesn't promise to be useful. It promises to be interesting, and I think that's enough.
$ cloc kernel
126 text files.
126 unique files.
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
C 56 2308 1028 10801
C/C++ Header 61 789 2219 2986
Assembly 8 99 106 449
Linker Script 1 11 5 41
-------------------------------------------------------------------------------
SUM: 126 3207 3358 14277
-------------------------------------------------------------------------------