Skip to content
View asp53826's full-sized avatar

Highlights

  • Pro

Block or report asp53826

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
asp53826/README.md
Aaryan Patel — computer science at UGA, building machine learning infrastructure from scratch

Systems, not scripts

I'm a computer science undergrad at UGA. Most of what I build is the layer underneath machine learning — the schedulers, indexes, collectives and evaluation harnesses that decide whether a model is actually usable — written from scratch and benchmarked against the thing it is supposed to beat.

Two rules I hold myself to across every repo here:

  • The deliverable is a measurement, not a demo. Every project ships a benchmark you can run, against a real baseline, on data I didn't generate to flatter myself.
  • Report where it loses. A speedup with no regime where it's slower is usually a broken benchmark. Each README has a section on the cases the approach handles badly, because that's the part that shows I understand it.

What I've built

project what it is the number that matters
raft-mvcc C++17 distributed-database correctness lab — Raft elections/log repair/majority commit, serializable MVCC, and P-compositional linearizability checking 598 assertions across seeded partitions; ~0.69M 3-node replicated writes/s and 11-tick five-node failover
columnar-engine C++17 vector-at-a-time engine — null bitmaps, selection vectors, joins, aggregation, TPC-H Q1 and scalar differential oracles 6,288 assertions; Q1 processes 53.1M rows/s and batched filters reach 1.94× scalar
lsm-tree C++17 storage engine — WAL, memtables, SSTables, Bloom filters, version-aware range scans and crash-safe compaction 4,064 assertions plus 100 randomized hard crashes with zero acknowledged writes lost
wal-recovery Transactional WAL — CRC32 records, atomic replay, damaged-tail repair, external crash oracle and validated group commit Zero crash-campaign losses; 16-way group commit reaches 40.2k tx/s, 2.58× single commit
vllm-lite LLM inference server — paged KV cache, continuous batching, prefix caching, speculative decoding, OpenAI-compatible API 94% KV utilization vs 21% for static batching; 2.9x throughput at 5.5x better TTFT
annlite HNSW vector index in C++17 — hand-vectorized distance kernels, Python bindings, HTTP service Parity with FAISS at 0.99 recall, 1.83x faster at 0.999 — the same Pareto frontier, not a beaten benchmark
dist-train Distributed training — ring all-reduce built from send/recv, plus data, tensor and pipeline parallelism Ring moves 58.7 MB/worker vs 234.9 MB naive at 8 workers, and the gap widens exactly as the arithmetic predicts
rag-eval RAG pipeline plus a reproducible eval harness that gates retrieval quality in CI BM25 on SciFact reproduces the published BEIR number — 0.6643 vs 0.665 — so the ablations measure ideas, not my bugs
feature-store Point-in-time correct training data, streaming materialization, drift monitoring Time-travel leakage inflates the offline score by 0.059 AUC, measured by keeping the leaky join next to the correct one
grammar-decode Constrained decoding — JSON Schema compiled to a character automaton, then a cached token mask over a 50k vocabulary 100% schema conformance against a 0% baseline; masking up to 1203x faster than replaying the vocabulary
agent-harness LLM agent runtime — a five-layer sandbox and a programmatically graded benchmark 57 tests, 25 of them escape attempts. The sandbox is tested by attacking it, and refuses to run where it can't enforce
codebase-qa Codebase Q&A service built around the unglamorous parts: auth, rate limiting, durable job queue, cost tracking, tracing scrypt-hashed keys, constant-time comparison, revocation as a timestamp — the prototype-to-service gap, written down
sdr-receiver QPSK software-defined-radio receiver — RRC pulse shaping, carrier/timing acquisition, soft decisions, regular LDPC decoding Full impaired receiver tracks coherent theory; 0 observed errors in 21,600 bits at 4–8 dB after the LDPC waterfall
track-fusion Multi-target tracking — IMM filter bank, JPDA data association, Wald-test track scoring, OSPA evaluation IMM cuts localisation error 47% through a manoeuvre and costs 45% on a target that never turns — both ends measured
sar-focus SAR image formation — pulse compression, backprojection, phase gradient autofocus, impulse response analysis Resolution within 0.5% of 0.886·c/2B and 0.886·λR/2L; sidelobes converge to the −13.26 dB theoretical floor
vio-nav GPS-denied navigation — MSCKF visual-inertial odometry, IMU preintegration on SO(3), null-space feature marginalisation 51.9x lower drift than inertial dead reckoning at 40 s; 65x when the IMU bias starts unknown

Portfolio telemetry

Portfolio telemetry: 16 repositories, 573 test functions, 1069 KB of source across 8 languages, 320 files, with a per-repository test bar chart and language distribution

Regenerated daily by a GitHub Action that reads every repo and counts the test functions in the source — not typed in by hand, and not fetched from a third-party stats service that could rate-limit or vanish. It reports test functions; parametrized suites and looped invariants expand those into many more checks (598 assertions in raft-mvcc alone).

How the pieces fit

Not sixteen unrelated weekend projects. Twelve form one path through a production ML stack and the storage substrate beneath it. The other four are sensing and estimation — coherent imaging, target tracking, recovering bits from a corrupted waveform, and navigating without GPS — which is the same habit of measuring against a known answer, pointed somewhere harder to fool yourself about.

flowchart LR
  subgraph STORE [store]
    M[wal-recovery<br/>atomic durable replay]
    N[lsm-tree<br/>SSTables + compaction]
    P[raft-mvcc<br/>consensus + snapshots]
    O[columnar-engine<br/>vectorized analytics]
  end
  subgraph TRAIN [train]
    B[feature-store<br/>point-in-time joins]
    A[dist-train<br/>ring all-reduce]
  end
  subgraph SERVE [serve]
    C[vllm-lite<br/>paged KV + batching]
    D[grammar-decode<br/>constrained decoding]
  end
  subgraph RETRIEVE [retrieve]
    E[annlite<br/>HNSW index]
    F[rag-eval<br/>eval harness]
  end
  subgraph APPLY [apply]
    G[agent-harness<br/>sandbox + benchmark]
    H[codebase-qa<br/>the boring parts]
  end
  subgraph SIGNAL [sense and receive]
    I[sdr-receiver<br/>QPSK + LDPC]
    J[sar-focus<br/>SAR image formation]
    K[track-fusion<br/>IMM + JPDA tracking]
    L[vio-nav<br/>MSCKF visual-inertial]
  end

  M --> N --> P --> O --> B --> A --> C --> D
  E --> F --> H
  C --> G
  D --> H
  I --> J --> K --> L
Loading

Stack

systems      C++17 · Python · Java · Raft · MVCC · WAL · LSM/SSTables · columnar execution · SIMD · POSIX
ml           PyTorch · torch.distributed · HNSW · BM25 · cross-encoder reranking
signal       QPSK · RRC filters · carrier/timing acquisition · LDPC · min-sum decoding
radar        SAR backprojection · PGA autofocus · Kalman/IMM filtering · JPDA · OSPA
estimation   IMU preintegration · SO(3)/Lie groups · MSCKF · ATE/RPE · triangulation
services     FastAPI · SQLite/Postgres · durable job queues · scrypt · tracing
industrial   Power BI · Node-RED · CtrlX Core · ERP automation

Day job: automation and analytics at MP Equipment — dashboards, ERP automation, and AR/AI for industrial food processing.

Elsewhere

aaryansp26@gmail.com

Every repo above is MIT licensed. Clone one and run the benchmark — that's what it's there for.

Banner generated by banner.py: animated SVG, two themes, respects prefers-reduced-motion.

Popular repositories Loading

  1. asp53826 asp53826 Public

    Profile README — ML infrastructure built from scratch and measured: inference serving, vector search, distributed training, retrieval eval

    Python

  2. vllm-lite vllm-lite Public

    Mini LLM inference server: paged KV cache, continuous batching, prefix caching, speculative decoding, OpenAI-compatible API

    Python

  3. rag-eval rag-eval Public

    RAG pipeline with a reproducible eval harness: hybrid retrieval, reranking, hallucination metrics, and CI regression gates on retrieval quality

    Python

  4. annlite annlite Public

    HNSW vector index from scratch in C++17: SIMD distance kernels, Python bindings, HTTP service, benchmarked against FAISS on recall-vs-latency

    Python

  5. feature-store feature-store Public

    Feature store with point-in-time correct training data, streaming materialization, train/serve consistency guarantees, and drift monitoring

    Python

  6. dist-train dist-train Public

    Distributed training from scratch: ring all-reduce built from send/recv, data/tensor/pipeline parallelism, and honest scaling efficiency measurements

    Python