Full-Stack Data Engineer · On-chain Analyst

I build on-chain systems,
then take them apart.

I build on-chain systems and the data infrastructure underneath them — a Chainlink-backed lottery on Avalanche, a live indexing terminal for a SocialFi launchpad, a half-million-row warehouse built to answer whether a game's mining economy actually pays. The building and the analysis are the same job: you don't get to have an opinion about a token economy until you've indexed it yourself.

Illustrated sloth wizard in an orange beanie holding a glowing staff, standing in a neon-lit alley beneath a sign reading The Data Stream.
The Data Stream. Seemed on the nose, so I kept it.

Selected work

What I’m building

Everything →

bl00 — live trading simulation

A paper fund run across four desks — PEPO, HYPE, DEFI and BLU — with live feeds, position blotters, equity curves and attribution. The engineering that matters here is refusing to let the dashboard assert things the data doesn't support: simulated capital is labelled PAPER next to the money rather than in a footer, an unreachable feed reads as unreachable instead of as an idle desk, and a gross-exposure figure is named gross exposure rather than "deployed" so nobody subtracts it from NAV. Declared mandates are never summed with measured ones.

Next.jsPythonMongoDBQuantLive feeds
Live ↗Private repo

Pixsly — Onchain Powerball

A full Powerball lottery living entirely on Avalanche C-Chain. Five white balls and a Powerball, draws Monday/Wednesday/Saturday at 22:59 UTC, with two parallel pools — USDC and AVAX — drawing the same numbers. Randomness comes from Chainlink VRF v2.5 and the draws fire on Chainlink Automation, so nothing depends on me being awake. Payouts are pull-based rather than pushed, which is the difference between a contract that settles and one that runs out of gas mid-loop. Hardhat and OpenZeppelin underneath, 143 passing tests before anything touched mainnet.

SolidityChainlink VRFAvalancheHardhatReactwagmi
Live ↗Private repo

hcash — HashCash data warehouse

A queryable warehouse for the Club HashCash economy on Avalanche, built to answer one question honestly: does owning the mining equipment actually pay? 460,876 transfers indexed into MongoDB Atlas on compound keys chosen for the queries that would actually run. On top of it sits a full forensic reconstruction — emission, holders, staking, money flows — plus wallet clustering via node2vec and Louvain to estimate how many players are distinct people rather than one person with many addresses. The finding was that the gear works and the token hurt.

MongoDBnode2vecLouvainGraph MLOn-chain forensicsPython
Private repo

dreaamor — Arena intelligence terminal

A live terminal for The Arena, the SocialFi launchpad on Avalanche. Everything is indexed from the chain by a persistent Node indexer rather than scraped from an upstream API, which is the reason the data holds up on days when the upstream doesn't. Next.js App Router and wagmi/viem on the front, MongoDB in between. Surfaces a launch-lifecycle board and a sortable token screener; trading executes on both chains, with the kill switches enforced server-side rather than hidden in the UI.

Next.jsviemMongoDBIndexerAvalancheSocialFi
Live ↗Private repo

wurrr — explorable on-chain worlds

A constellation of browser-native 3D worlds you can walk around in, built to be published on The Grotto through its runtime SDK for player identity and cloud saves — an iframe wrapper and a handshake rather than a rewrite, since the app already lives on Vercel. Most of the repo is the world itself: Blender dungeon conventions, floorplans, NPC scripts, boss blueprints and animation specs, all versioned as documents so the geometry and the design intent stay in the same place.

Three.jsBlenderWebGLJavaScriptGame design
Live ↗Private repo

Research

Things I pulled on

All pieces →