Projects
things i have built
Full-stack online judge for Verilog problems, executing untrusted submissions through Docker-sandboxed Icarus Verilog simulations with per-submission resource limits.
- Asynchronous judging pipeline from Next.js API through BullMQ/Redis to a dedicated EC2 worker; persisted users, submissions, and contests in PostgreSQL via Prisma.
- Codeforces-style contests and a Redis sorted-set leaderboard with O(log N) rank updates; deployed on Vercel + PM2.
Next.jsTypeScriptDockerIcarus VerilogBullMQRedisPostgreSQLAWS EC2
02
Order Matching Engine
In-Memory Order Book · 2025High-performance C++ limit order book supporting limit, market, and cancel orders with strict price-time priority, partial fills, and self-trade prevention.
- Profiled std::map-based design under 1M+ randomized orders; replaced tree traversal with a tick-indexed flat array and bitmap-accelerated occupied-price index.
- Achieved ~29% higher throughput and ~2× lower median matching latency in head-to-head benchmarks under realistic wide-spread market conditions.
C++STLData StructuresPerformance ProfilingBenchmarking
Plagiarism detector using k-gram fingerprinting, Rabin-Karp rolling hash, winnowing, and Jaccard similarity to score a query submission against a code corpus.
- Asynchronous comparison pipeline with BullMQ/Redis; packaged the C++ engine as an AWS Lambda Layer and persisted results in PostgreSQL via Prisma.
- Deployed Next.js interface on Vercel and queue worker on AWS EC2 with PM2, decoupling web requests from compute-heavy comparisons.
C++Rabin-KarpWinnowingAWS LambdaBullMQRedisPostgreSQL