Ansh Kanyadi

I'm a CS student at UMass Amherst, graduating in 2028. I build databases and distributed systems, mostly in C++ and Go. Last summer I interned at IBM on watsonx.data, and I'm looking for a distributed systems or infrastructure internship for Summer 2027.

Projects

The first three are one stack. Rift and Umbra both store their data in Basalt, which they pull in as a pinned dependency.

Rift

Go and C++, MIT license

A distributed, transactional key-value database built from scratch. It has Raft, snapshots, membership changes, multi-raft with range splits, MVCC over hybrid logical clocks, Percolator-style transactions and linearizable reads.

I built the simulator before the database. The whole system runs inside it with no wall clocks, no goroutines and no global randomness, so any crash, network partition or clock jump replays exactly from one seed number. When a run fails, that seed fails the same way every time.

It has been through 25,000 fault-injected runs on each of the transaction and read-index layers with no safety violations. Along the way I found and fixed 67 bugs, and each one has a stored reproduction.

My favorite is BUG-060. After a leader was killed, the cluster served nothing for fourteen seconds, and every safety check still passed, because a cluster with no leader hasn't technically violated anything. A performance threshold caught it instead.

Umbra

C++, Apache-2.0 license

Sync for a folder of markdown notes where the server can't read anything. It only stores ciphertext, so it never sees note contents, file names or folder structure.

Since the server can't see edits, it can't resolve conflicts either. Merging happens on the devices, using CRDTs I wrote from scratch (Fugue for text, Kleppmann's move operation for the file tree). Search runs locally on a hand-written HNSW index.

It's tested against 23 adversarial schedules that cover partitions, message reordering, duplicate delivery, crashes and a misbehaving relay.

The command line tools work end to end. The desktop app is only partly done.

Basalt

C++17 with a C ABI, no runtime dependencies, Apache-2.0 license

The LSM-tree storage engine that Rift and Umbra both run on. It has a write-ahead log, a skiplist memtable, SSTables with bloom filters, compaction and snapshots. It started inside Rift, and I moved it into its own library when Umbra needed it too.

It isn't fast. Writes are within 1.5x of LevelDB, but reads are about 9x slower. The numbers are in the benchmarks file.

It's built to survive being killed at any point during a write. The test for that kills it at every filesystem call (4,840 kill points in total), reopens the database, and checks that the recovered state is one the write could legitimately have produced.

Other projects

Strata

C++23

A vectorized SQL engine I built to understand how DuckDB works on the inside. Data moves through the operators 2,048 values at a time, with SIMD kernels and morsel-driven parallel aggregation. TPC-H Q1 and Q6 match DuckDB's answers. It's 3x to 7x slower than single-threaded DuckDB, and the README explains why.

Culpa

Python and TypeScript

A flight recorder for AI coding agents. It records every model call, tool call and file change, replays a failed run exactly without calling the API again, and lets you fork at any decision to see what would have happened. It has over 200 users and is live at culpa.dev.

Conduit

Go

Shared terminal sessions in the browser. It runs a real PTY on the server and uses a binary frame protocol with sequence numbers and checksums, a replay buffer so you can reconnect and catch up, and etcd leases so any node can route you to the one that owns your session.

Nullify

C++ and WebAssembly

A Chrome extension that hides personal information on screen for people who stream or record. The detection engine is C++ compiled to WebAssembly.

AntidoteML

Python, hackathon team of four

Catches and removes a poisoned worker in distributed ML training. I wrote the worker runtime, including the worker pool, timeouts and crash handling.

LeetType

TypeScript

A typing speed test where the text is LeetCode problems.

Detox

Python and JavaScript

Blurs sensitive details in photos before they get uploaded to Instagram. The model runs on the device.

SL2S

Python

Peer-to-peer video calls with live sign language translation.

Experience

IBM

Summer 2026, San Jose

Software engineering intern on watsonx.data, IBM's data lakehouse. My patch to Velox, Meta's open-source C++ query engine, was merged upstream. PR #18189 pushes map-size extraction into the file reader, which cut read I/O by 49% on map-size queries.

I also built a Tekton pipeline that took a release-gating license compliance review from about 10 hours to 15 minutes, and a Go service that scans around 300 production container images against a CVE feed and alerts their owners.

Roku

Summers of 2024 and 2025

Tech lead for a team of five interns on a platform that streams live market quotes for 120+ tickers to Roku TVs in under 350 ms. I built the Go ingestion service, which uses backpressure over bounded channels and kept clients in sync at 7x load, about 7,000 messages a second.

Hammerspace

Summer 2023

My first internship. I built a Django and PostgreSQL scheduling service for about 200 staff, with row-level locking to keep resource allocation atomic, and cut p95 query latency by 50% under concurrent writes by tuning isolation levels and indexes.

Resume

Download the PDF, or read it here.

Ansh Kanyadi's one-page resume. The same content is in the PDF linked above.

About

I'm from San Jose and go to school in Amherst, Massachusetts. I spent my first semester of college in Paris. I started programming in fifth grade on Scratch because I liked building things, then moved to Khan Academy, where I'd copy other people's Mario games and mess with them.

Right now I'm reading Designing Data-Intensive Applications and figuring out what to build next. At UMass I'm in ACM, the hackathon club and TEK.

Outside of school I started playing basketball. I also watch the NBA and One Piece, and play too much Overwatch. I speak Kannada, Hindi, English and Spanish, and a little French.

Contact

I'm looking for a Summer 2027 internship on a distributed systems or infrastructure team, ideally working on databases or storage. Email is the best way to reach me.

anshkanyadi@gmail.com