Engineering / Stack

How it's built

A static page. The generation engine runs on your device, and there is no server.

Rust → WASM
the generation engine, compiled to run in your browser
IndexedDB
your subjects, stored on your device
Preact + TS
the interface, ~24 KB gzipped

The engine runs locally

The part that actually searches through possible timetables is written in Rust and compiled to WebAssembly, then runs directly in your browser. Rankings come back from WebAssembly as raw typed arrays — no serialization of hundreds of thousands of results.

No backend

No accounts, no database, no API. The whole app is a few static files that any static host can serve, and your subjects live in your browser's own storage.

Why it matters

Generation is fast because it isn't a network round trip — every reorder or optimize happens instantly, locally, without waiting on anything.