UMD CS B.S./M.S. · GRADUATING MAY 2027 · AWS SDE INTERN, SUMMER 2026

Ivan Wang

I build things from scratch and measure whether they work. Outside of work I'm into mechanical keyboards, rock climbing, and keeping up with tech.

Open to Summer 2027 new-grad software engineering roles

Three of the things I've built, with one measured result each. The names link to the code.

parallax-kv (opens in new tab)Raft key-value store2.9Mclient operations checked
accretion-db (opens in new tab)LSM storage engine878 µsfdatasync p50median durable-write flush
lodestone (opens in new tab)vector search engine0.976recall@10top-10 search accuracy

This summer I'm an SDE intern on EC2 Networking at AWS, where I built an agent that migrated seven production canaries from Scala to Java, cutting each one from about a week of work to about a day. Full timeline

Resume on request · ivanwang8989@gmail.com

Outside of work

A few things I spend my free time on.

Building keyboards

You can customize every part, so you can tailor a board to exactly what you or someone else needs — and picking the right part for the job is the fun of it.

Key tester

logidle · no keys yetClick a key, or type while hoveringTap a key

Linear switches, lubed.

Rock climbing

I climb for the community and the problem solving. A boulder can usually be done a lot of different ways, and which one costs you the least depends on your body — working that out is my favorite part.

Boulder route

12345678STARTTOP
BOULDER / SET 01 · start at 1, top out at 8

Following the industry

I keep up with tech pretty closely — from new hardware to how governments are handling AI. I'm interested in where the industry is heading.

What I follow

hardware
launches and reviews
AI policy
regulation, worldwide
keyboards
switches and group buys
the industry
where it's heading

Featured engineering work

FIG. 01 · lodestone · recall vs throughput

lodestone is a vector search engine I built in Rust. This is its benchmark: higher is more accurate, further right is faster, and each dot is one setting I measured.

recall 0.90 floor · ef=16 falls below it2K5K10K20K50K1.000.950.900.800.700.600.50queries per second (log scale)recall at k=10HNSW m=16IVF-PQ nlist=256 m=32oracle · exact brute forceoracle · 971 q/s exactnprobe=32nprobe=16nprobe=8nprobe=4nprobe=1ef=256ef=128ef=64ef=32ef=16ef=32 · recall 0.976 ·~31.8K q/s

readingef=32 · recall 0.9759 · ~31.8K q/s · single coredrag across the plot · or press ← →tap a point · drag to pan

50,000 x 128-d · k=10 · single core · Xeon 8488C · bench_50k_128d.txt (opens in new tab)

FIG. 02 · parallax-kv

DISTRIBUTED SYSTEMS · GO

parallax-kv (opens in new tab)

A three-node Raft key-value store built from scratch: PreVote, ReadIndex, persist-before-send ordering, snapshots, a durable WAL, a gRPC runtime.

GoRaftgRPCPorcupinedeterministic simulation

A deterministic stress harness ran 2.9 million client operations through partitions, crashes, message loss, delays, and snapshot churn. Zero safety or linearizability violations.

The first bug the stress harness found was in my checker, not in the consensus code.

272 w/sdurable writes · c=8
41 msp99 latency · c=8
2.9Mclient operations checked

3 nodes · localhost · c=8 · 4 KiB fsync p50 ≈ 0.89 ms
† The first bug the harness caught was in the linearizability checker, not in consensus. Not built: production snapshot scheduling or chunked streaming.

FIG. 03 · accretion-db

STORAGE ENGINE · RUST

accretion-db (opens in new tab)

An embeddable LSM-tree storage engine: CRC-framed WAL, group commit, memtables, block SSTables, bloom filters, size-tiered compaction. The crate root forbids unsafe code, so the engine has no unsafe blocks by construction.

RustLSM treegroup commitcrash consistencyproptest

Fault-injection and property tests confirm that acknowledged writes survive simulated crashes. Results are benchmarked against sled, including the cases where sled wins.

~29xWAL-bound group commit
878 µsfdatasync p50

16-byte keys / 100-byte values · ext4 on NVMe · Xeon 8488C
† The ~29x group-commit figure is WAL-bound. Compaction runs synchronously under the write lock, which caps full-engine throughput.

FIG. 04 · lodestone

VECTOR SEARCH · RUST

lodestone (opens in new tab)

A vector search engine built from scratch in Rust for embeddings and RAG retrieval. An HNSW proximity graph and an IVF-PQ compressed index sit over hand-written AVX-512 distance kernels with runtime feature dispatch.

RustHNSWIVF-PQAVX-512 SIMDRAG retrieval

On 50,000 128-dimensional vectors on a single core, HNSW reached 0.976 recall@10 at about 31,800 queries per second — about 33x the exact brute-force search at that recall, and 9–33x across the 90%+ recall band.

0.976HNSW recall@10
~31.8Kqueries/sec · 1 core

50,000 x 128-d · k=10 · single core · Xeon 8488C
† IVF-PQ trades accuracy for footprint: 0.975 recall@10 at 16x memory compression. Single machine, single core. Not built: distributed sharding.

Eight more — ML, NLP, statistics, and this site

Background

University of Maryland, College Park

B.S./M.S. in Computer Science — Departmental Honors (research track)

Aug 2023 – May 2027

On the faculty-mentored research track; minors in Data Science and Philosophy

GPA 3.6/4.0

Coursework: Data Structures & Algorithms, Object-Oriented Programming, Distributed Systems, Operating Systems, Computer Networks, Database Systems, Software Engineering, Machine Learning, Natural Language Processing

Languages

Python · Java · Go · Rust · TypeScript/JavaScript · Scala · SQL · Bash

Distributed & storage

Raft · gRPC/Protobuf · LSM trees · PostgreSQL/SQLite

Backend, web & testing

Flask/FastAPI · Node.js · JUnit 5 · Playwright

ML & NLP

PyTorch · HuggingFace · scikit-learn · LangChain · JAX · Qiskit · DisCoPy · pytket

Cloud & CI

AWS (EC2/VPC, SDK, CDK, CloudWatch) · Docker · Linux · GitHub Actions · CI/CD · Jenkins

Get in touch

I'm looking for Summer 2027 new-grad software engineering roles. Email is the fastest way to reach me, and I can send a full resume on request.

Email meivanwang8989@gmail.com