Quartz unikernel

This page is served by Quartz — a self-hosted systems programming language — through a network stack, HTTP server, and kernel that Quartz wrote itself. No libc. No Linux kernel in the request path. No C anywhere in the network stack.

Live kernel telemetry

Ticks
25992
LAPIC @ 100 Hz
Served
488
connections since boot
Active
1
of 16 slots
PMM
9380
KiB of 64 MiB pool
Baked
234
5726 KiB of docs + CSS + JS
virtio-net
52:54:00:12:34:56
MAC from config space

Live request feed

Last 64 paths served, oldest first. Auto-refreshes every 500 ms. You'll see your own request land at the bottom — and anyone else's, in real time.

waiting for first request…

What self-hosted actually means here

Quartz is a systems programming language whose compiler is written in Quartz. That compiler produced every line of code on the request you just made:

One language. One codebase. No third-party systems code on the critical path. Stack diagram:

browser
  → Caddy (TLS 1.3, HTTP/2) on the Linux VPS
  → QEMU -M microvm, hostfwd :8080 -> :80
  → Quartz unikernel (PVH boot, LAPIC scheduler, 64 MiB PMM)
  → self-authored virtio-net driver
  → self-authored Ethernet + IPv4 + TCP (16-slot conn table)
  → self-authored HTTP/1.1 router
  → this page

The only non-Quartz code on the request path inside the guest is QEMU's emulation of virtio-mmio. Everything else — from the first byte of the Ethernet frame through the last byte of this HTML — was written in a language that also wrote the compiler that built it. The cards above poll /api/stats.json every 500 ms; every refresh is a fresh round trip through the pipeline.

Explore more

Every link below is served by the same unikernel you're on right now — the Astro-built marketing site is baked into the ELF at compile time and streamed out of PMM over our self-authored TCP stack.

Source

All of it at git.sr.ht/~mathisto/Quartz. The kernel for this page lives at tools/baremetal/hello_x86.qz. The compiler is self-hosted/. Nothing on GitHub — sourcehut only.