Skip to content

Work

What I’ve built, most recent first. The interesting parts are under the surface: how data survives a crash, how one event reaches every socket, how a job fails halfway and still finishes.

01

shipped

CrabKV — Distributed key-value store

A sharded async key-value store in Rust that survives crashes by replaying its own log.

Each shard owns its data and its thread, so reads and writes never contend for a lock. Clients speak a small custom binary protocol over Tokio.

Every write is appended to a write-ahead log before it touches memory. Snapshots bound the log, and on boot a node loads the latest snapshot and replays what came after it.

Throughput and correctness were checked under load with property-based and stress tests.

200k ops/s
reads
50k ops/s
writes
1,500+
connections
< 1 ms
p50 latency
  • Rust
  • Tokio
  • Binary protocol

02

in progress

Yappa — Realtime WebSocket infrastructure

An embeddable engine for rooms, events, presence, and sessions, in the mould of Pusher and Ably.

Gateways are stateless and hold the WebSocket connections. Events fan out through Kafka, presence lives in Redis, and sessions in PostgreSQL, so no single node is a bottleneck.

Tenants are isolated by JWT. Integration tests cover the connection lifecycle, presence state, and message ordering under concurrent load.

Split into a Rust core, an auth service, a TypeScript SDK, and a dashboard.

< 100 ms
target delivery
JWT-isolated
tenancy
Horizontal
scale-out
EC2 · Docker
hosting
  • Rust
  • Tokio
  • Kafka
  • Redis
  • PostgreSQL
  • TypeScript

03

live

Lead Pipeline — Agentic lead qualification

A one-click workflow that replaced four to six hours of manual B2B prospecting per batch.

A webhook starts a run that scrapes businesses matching a target profile, enriches them, validates the data in SQL, and has an LLM score each lead against a JSON schema.

Every step is idempotent, so a batch that fails halfway re-runs safely and skips the work already done. Deployed per client from one Docker Compose template.

4–6 h / batch
before
1 click
after
100+ leads / run
throughput
Schema-checked
output
  • n8n
  • LLM APIs
  • SQL
  • Docker

04

live

ReviewBook — Realtime journaling app

Daily reviews and partner games with shared realtime sessions. Zero to live in under two weeks.

Sessions sync across users through Supabase Realtime. Streaks are computed in PostgreSQL, and row-level security keeps every user's data their own.

< 2 weeks
built in
Realtime
sync
  • Next.js
  • Supabase
  • PostgreSQL
  • GSAP

smaller things

Away from servers: a paper on hiding data in audio sent over LoRa radio (ICEI 2026), and some ESP32 firmware, including full-duplex voice over UDP.

toolbox

  • Rust
  • TypeScript
  • Python
  • C++
  • SQL
  • Tokio
  • Next.js
  • PostgreSQL
  • Redis
  • Kafka
  • Docker
  • Kubernetes
  • AWS
  • Linux