Foundation Observatory · est. 2025

worxbend

A workshop that builds instruments — terminal dashboards, air-quality readers, camera firmware, streaming controllers and the small libraries underneath them. Every repository below is a star in the sky behind this text.

themefoundation viewgrid nodes scenebooting > observatory --watch
Repositories
Clusters
Languages
Stargazers
Last push

Constellations

Six things this workshop keeps coming back to

The catalogue is grouped by subject rather than by language or by account. Each group is one constellation in the sky, and each link below filters the catalogue down to it.

  • Streaming & OBS

    Controllers, dashboards and browser overlays for OBS Studio, plus chat clients and bots for Twitch and YouTube — everything that runs while a live stream is on air.

    Filter catalogue

  • Air Quality

    Ways of reading an AirGradient air-quality monitor: a desktop window, a phone app, a terminal, a panel icon, an e-paper screen, a wall of LEDs and a metrics stack — all talking to the sensor on the local network rather than to a cloud account.

    Filter catalogue

  • IoT & Edge

    Firmware for small Wi-Fi microcontroller boards — cameras, relays, LED panels — together with the network services on the other end of the wire that receive their frames and send them commands.

    Filter catalogue

  • Linux & Provisioning

    Tools that take a fresh Linux machine, or a homelab of them, and bring it to a known state from files kept in version control: packages, dotfiles, fonts, binaries and monitoring.

    Filter catalogue

  • Scala & JVM

    Libraries and services for the Java Virtual Machine, mostly written in Scala 3 — API clients, an authentication server, data pipelines and ports of existing libraries to the Flix language.

    Filter catalogue

  • Labs

    Experiments that exist to answer a question rather than to ship a product: a browser game, an automated writing journal, a webcam filter and other one-off sketches.

    Filter catalogue

Catalogue

Every repository, searchable

Loading the catalogue…

Where the code lives

Two GitHub accounts, one body of work

Repositories are split across an organisation and the personal account behind it. The two logins differ by a single character — an "o" against a zero — so every card in the catalogue carries a badge saying which one it came from.

worxbend organisation

The organisation

Tools meant for other people to install and use.

Anything with releases, packages or documentation sits here: the OBS Studio controllers, the AirGradient clients, the workstation bootstrappers and the Scala libraries published for other projects to depend on. This repository — the one serving the page you are reading — is the organisation's profile repository, which is why it is called .github.

github.com/worxbend

w0rxbend personal

The personal account

Work in progress, firmware and experiments.

Projects that are still moving, or that are too specific to one desk to be worth packaging: microcontroller firmware, the homelab infrastructure files, the Flix ports, the browser game and the daily learning journal. Several of them graduate to the organisation once they are worth installing.

github.com/w0rxbend

oleksandr-balyshyn personal

The named account

The same maker under a full name.

A quieter third account carrying a small number of newer pieces — a terminal interface library, a desktop controller for a standing desk, and setup scripts. It is included here because it is the same person and the same body of work; splitting it off would only hide things.

github.com/oleksandr-balyshyn

Instrumentation

What this page is actually doing

The list comes from GitHub, live, with no account and no key. When this page opens it calls GitHub's public API from your browser — one request per account, no sign-in, nothing secret — and asks for every public repository on worxbend, w0rxbend and oleksandr-balyshyn. Anything pushed to in the last 6 months appears below; forks, archived repositories and anything with no commits since then are left out. The answer is kept in this browser for six hours so a reload costs nothing, and the page shows a copy committed alongside the code while it waits — which is why the catalogue is on screen immediately rather than after a spinner. The only thing written by hand is the plain-language description on some cards; every number, language and date is GitHub's.

Loading…

The sky is a real graph, not wallpaper. Every repository in the catalogue is one point in the WebGL scene behind this text. How large it is comes from its stargazers and how recently it was pushed; its colour is GitHub's own colour for its main language; the lines join repositories that sit in the same cluster. Positions come from a seeded generator, so the sky is identical on every visit — a diagram you can learn, rather than a screensaver. If the graphics library cannot load, or the browser has no WebGL, the page adds a plain drifting starfield instead and everything else carries on.

The theme lives in your browser. Picking one of the five swatches in the bar writes wb.theme to localStorage — a small key-value store the browser keeps on your own machine. Nothing is sent anywhere, and a second tab follows along because both tabs watch the same key. There is no account and no server: this whole site is static files on GitHub Pages.

Visit analytics never leave this browser. If you allow it, this page records what it does — a page view, a theme change, a project opened — into IndexedDB, a database inside your own browser profile. There is no endpoint, no request and no third party; searches record how many characters you typed and how many results came back, never the text itself. The panel below is the whole of it: read it, download it as a JSON file, or delete it. Recording is off until you say otherwise.

Your own visit log

Nothing recorded yet.

today

The most recent events recorded in this browser
Time Event Detail

Nothing has been recorded. Turn recording on above and the events will appear here.

worxbend · Foundation Observatory

Static files, no build step, no bundler and no tracking. Source for this page lives in the .github repository under docs/.