YP

Projects

things i have built

01

RTL Judge

Verilog Competitive Programming Platform · 2025

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 · 2025

High-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
03

WinnowCP

Code Plagiarism Detection Engine · 2025

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