Skip to content
0xSemantic

AI infrastructure

Zonn

Ordinary computers, cooperating as one

Role
Creator and lead developer
Built with
  • Go
  • gRPC
  • SQLite
  • Wails
  • React
  • TypeScript
  • Next.js
  • Python
  • PyTorch
  • WebSockets

A platform that groups several ordinary, unreliable machines into one virtual supercomputer. A contributor offers a share of their computer, an operator gathers those machines into a colony, and a workload too large for any one of them runs across all of them.

01

Why it exists

Serious computing work usually needs one expensive machine, or a rented one. Meanwhile most people and small teams already own several ordinary computers, a laptop, a desktop, an older machine no longer in daily use, each individually unremarkable and idle most of the time.

The idea is the one behind carrying furniture up a staircase. No single person carries the whole thing. Each takes a share, they move together, and the job that was impossible alone gets done.

02

What was built

The full path from a machine registering itself to text generated across two of them: group nodes into a colony, deploy a model, watch the tokens arrive, and see each machine's live contribution as it happens.

Hardware detection across operating systems, a heartbeat and reaper pair that decides when a machine has gone, colony creation and deletion, a global issue feed, and a playground that triggers the whole flow from the dashboard.

A mock engine that runs the entire pipeline with no model and no GPU, so the distributed system can be developed and tested without the machine learning half being present.

03

Architecture

Four cooperating pieces, and the interesting constraint is that the machines cannot reach each other.

A coordinator, a single Go binary over embedded SQLite with no C dependency, speaks gRPC to nodes for registration and heartbeats, serves REST to the dashboard, reaps nodes that have gone quiet, and relays tensors between nodes over WebSockets.

A node application built with Wails, a Go daemon under a React interface, compiled to one native binary per operating system. The daemon is the real engine and survives the window closing: it detects hardware, exposes a local API, registers, streams heartbeats, and reconnects with backoff. The window is a thin viewer over that same local API, so the interface runs unchanged in the desktop shell or in a browser.

A dashboard in Next.js for the fleet, the colonies, and the issue feed.

An inference worker in Python that splits a language model across two machines by layer range.

04

My contribution

Creator and lead developer. The coordinator, the node application and its daemon, the dashboard, the inference worker, and the tensor relay that makes the whole thing possible.

05

Engineering challenges

The nodes sit behind home routers, so they can never talk to each other directly. The intermediate activation tensor from the first machine's layers is therefore relayed through the coordinator to the second machine, which finishes the forward pass. That relay is the difference between a design that works on a diagram and one that works on real domestic internet connections.

The relay client is written against the standard library alone, so the path that matters most needs no package installation on a contributor's machine.

Treating unreliability as the normal case rather than the error case. A contributor closes a laptop lid; the colony has to notice, and keep meaning something afterwards.

06

Result and impact

The node application is released and installable on any of the three desktop platforms, built for both common architectures: a Debian package for Linux, a disk image for macOS, and an installer for Windows, each carrying the inference worker alongside the node itself. A contributor joins a colony by installing an application, not by building one.

07

Evidence

Zonn | Levi Chinecherem Chidi (0xSemantic)