Sofia, Bulgaria · remote since 2019

I write the part
that has to stay up.

Rust, mostly. Indexers, languages, P2P protocols and the tooling around them. Most of it is still running.

Real output, run on 25 September 2026. Paste either line into a shell.

4,474 commits
Across all 96 public repositories in The Night's Watch. Nuthatch and Lodestar are 3,087 of them.
218 stars
On Matchstick, the subgraph testing framework I built for The Graph in 2021.
39 of 91
Public repositories in Rust, forks aside. The rest are mostly JavaScript, Python and Dart.

Building now

Three things I use every day.

All three exist because the tool did not, all three are one binary, and all three are public. None of them is a business.

1,708 commits

nuthatch

Be your own indexer. One Rust binary, one command, and a live indexed API in under two minutes. It follows the chain, seals segments to Parquet, serves SQL and MCP, and has no mandatory third-party data dependency. Built as a public good rather than a business.

104 commits

redstart

A language for authoring subgraphs, and the sexiest way to do it. Schema, manifest and mappings collapse into one typed source that compiles to AssemblyScript the canonical toolchain builds unmodified. The whole family of AssemblyScript footguns becomes unrepresentable: if it compiles, it works.

62 commits

yatr

The best task runner ever, and a single binary. Its cache is content-addressed and signed, so a shared cache entry can be trusted rather than hoped about, and it speaks REAPI so the remote execution you already run will talk to it.


The Night's Watch

Ninety-six repositories, and I have touched all of them.

A community organisation building the unglamorous half of The Graph: indexers, gateways, data services, judges and doctors. It is where most of my week goes.

Contributor since 2025

nightswatchhq

Nuthatch and Lodestar are the two big ones, but the interesting work is the long tail: Dispatch, a decentralised JSON-RPC service on Horizon. Foghorn, a network-quality judge that catches indexers serving confident, well-formed garbage. Horizon-doctor, which turns a startup panic into an explained gate. Graphite, a Rust SDK for subgraphs.

96 repos→ 4,474 commits→ all of it public
Lodestar

1,379 commits

An indexer dashboard that became an indexer. It runs on nuthatch, which is the sort of thing that only happens if both are yours.

Learn The Graph

graph-academy

A community learning site where every protocol number carries the date somebody last checked it, and the build goes red when one goes stale.

Also in there

Judges and doctors

Foghorn, horizon-doctor, swissindexingknife, indexer-gateway-auth. Small tools for operators, written because somebody was doing it by hand.


Shipped, and still running

Work other people now maintain.

The measure of a tool is whether it survives you leaving. These did.

218 stars

matchstick

Unit testing for subgraphs, in Rust and WebAssembly, written at The Graph in 2021. The ecosystem standardised on it and it is still maintained by other people, which is the outcome you want. 218 stars, 17 forks, and I have not touched it in years.

Rust + WebAssemblyThe Graph, 2021source
2022 - 2025

graphcast, and subgraph-radio

A P2P messaging protocol for The Graph indexer network, built on Waku and libp2p at The Graph. Gossip, fault-tolerant delivery, and a radio pattern that let anyone add a message type without touching the core. Subgraph Radio was the first radio built on it, gossiping subgraph health between indexers.

Rust, libp2p, Wakugraphcast-sdksubgraph-radio
Apr 2025 -

The platform an AI data product runs on

Senior Rust engineer at Fathom: a multi-workspace monorepo of services, storage and control plane, and the dataops workflows that keep a model fed with something true. Lately a transactional outbox and the relay that drains it, so an event and the row it describes commit together or not at all.

Contact

Mail is the fastest way.

Not looking for work. Always happy to talk about indexers, subgraph tooling, or anything in the list above.

Read the resume ›