About the project
Shard is a language model that does not live on any single machine.
Llama 3.2 3B has 28 layers. Shard hands each peer a range of them, so no machine holds the whole model and no server holds it either. If a peer leaves, the model is genuinely incomplete — and Shard says so, in red, before you ask.
WHY
Using a hosted model is a permission, and permissions get revoked — usually not by the company, but by a government. Twenty-five countries cannot reach the hosted assistants. In 2025 there were 313 internet shutdowns across 52 countries, the highest on record, and none of them were technical failures.
A model you reach at an address can be blocked at that address. Shard has no address. Discovery and inference happen entirely on the local network, so once each machine has the app and the weights, an internet shutdown does not reach it.
HOW IT WORKS
- Discovery: each node sweeps its own subnet over UDP and announces what it can
hold — label, RAM, GB offered, RPC port. No tracker, no bootstrap server.
- Assignment: there is no coordinator. Every node sorts the peers it knows by a
stable id and walks the layer list in order, so every node independently computes the same split. Nothing votes and nothing is elected.
- Inference: each machine runs its own ggml-rpc-server holding its layers in GPU
memory. The asking node drives all of them through a single --rpc list.
- Panel: a local status page over HTTP + SSE at localhost:7777, showing the split
live, one colour per machine.
PEAR-NATIVE
Shard is a standalone CLI built from the hello-pear-bare template. It is not on npm and has no release page — it is fetched peer-to-peer, by key:
mkdir -p ~/shard pear install --to ~/shard pear://k6c99su98pmobmw1c4xqtoacsage1is5ayhq9mqdsc8gobdzg8bo
Updates arrive over the air to running instances, as deltas: the binary is 80MB on disk and about 6MB on the wire. Twelve versions were published this way during the hackathon.
WHAT WE BUILT / WHAT THE STACK GIVES
Ours: the shard planning with no coordinator, peer discovery and liveness on the LAN, each node launching and supervising its own layer server, and the status panel. Pear and Bare give distribution, OTA and the standalone binary. llama.cpp gives the RPC backend and the layer split.
WHAT IT DOES NOT DO
- It does not cross subnets. Discovery is LAN-only.
- It does not punch through symmetric NAT; two peers both behind it need a relay,
which the Pear CLI does not expose.
- The RPC link is neither encrypted nor authenticated. Anything on your LAN that
reaches the port can use your GPU.
- It cannot prove a peer really ran your layers. No attestation.
- There is no redundancy. Each layer has exactly one owner; lose it and the model
stops until it returns.
- It does not distribute the weights. Each machine fetches the GGUF itself.
REQUIREMENTS
Node 22+, the Pear runtime, and llama.cpp built with -DGGML_RPC=ON (plus -DGGML_METAL=ON on Apple Silicon), and the Llama 3.2 3B Q4_K_M GGUF on each machine that serves layers. Full steps on the site.
NEXT
Beyond the LAN, redundancy so a peer leaving degrades instead of stopping, and peer incentives in USDT via WDK — designed, not built.
LINKS
Site: https://tomazzi14.github.io/shard-free/ Deck: https://tomazzi14.github.io/shard-free/deck/ Source: https://github.com/tomazzi14/shard-free
Built at Aleph Hackathon, Buenos Aires — August 2026. Apache-2.0.
Hacki