Sujal
Sharma.
Software engineer at Orbital, 2 years in. Hyderabad, India.
- Role
- Software Eng
- Years
- 2Y
- Where
- Hyderabad
- Status
- Open
Match Engine
C++20 · personal project · target sub-microsecond · code private, demo open
A C++20 trading system I built solo with heavy AI assistance, to learn low-latency engineering from the ground up. Order book, pre-trade risk gate, strategy engine and a replayable WAL over Aeron IPC and an SBE wire format, with a QuestDB tick store and a Next.js 16 control plane. ~11,100 lines of hand-written C++ plus a 24,300-line dashboard, 173 tests. The repo also documents a latency table I withdrew: the harness was timing a single operation between two steady_clock reads, and on Apple silicon that clock's 41.7ns tick meant every published figure was one or two ticks of the instrument rather than a measurement of the code.
- → live demo
- → race the engine
- source available on request
Race the engine.
A reaction-time bench against Mach-Zero. You click as fast as you can. The C++ matcher beats you by ~6 orders of magnitude.
open the benchPinnacle Trading Platform
Python + TypeScript · OSS · pub/sub backend + Next.js control plane · Angel One
End-to-end algorithmic trading platform. Python backend pushes signals from a strategy engine through Redis pub/sub to an order manager that executes against Angel One (paper or live). Next.js 15 frontend on Prisma/Postgres for users, strategies, orders, and portfolio tracking. Two repos, one system.
K8Secret
Swift · macOS native · MIT · multi-cluster Kubernetes manager
A native macOS app that talks directly to the Kubernetes API. Decodes Opaque secrets in-place, edits with bulk .env import, scales deployments, streams pod logs with severity filters, and handles port-forwarding with retry. Multi-cluster, multi-window, keyboard-driven. MIT.
driftscan
Python · bucketed count+XOR · ClickHouse → Postgres · zero dependencies
sync job says: OK, 49996 rows writtenDRIFT REPORT clickhouse.transactions -> postgres.transactionsrows source 50000 | target 49996buckets 256 compared, 250 equal, 0 unreadcoverage 100.0%VERDICT: DRIFTED (6 rows)missing-in-target 4value-differs 2value-differs key=777 columns=amountvalue-differs key=41003 columns=account
The sync failure that matters is not the one that pages you, it is the one where the job completes, logs a row count and is quietly wrong. Checking properly means comparing every row on both sides every time, so nobody runs it. driftscan buckets the key space and compares a row count plus an order-independent XOR of row hashes per bucket — one grouped query per side whatever the table size — then opens only the buckets that disagree: finding six bad rows in fifty thousand reads 1,195 of them. It normalises decimal scale, timestamp precision and bool/int before hashing, because a detector that reports every type round-trip as drift stops being read after the third false alarm; each normalisation is lossy on purpose, so each is named in the report. And it has three verdicts rather than two, because “I found nothing” and “I stopped looking” call for opposite responses.
evalgate
Python · Wilson intervals · paired bootstrap · zero dependencies
VARIANT SCORE 95% CI RUNS FLAKYprompt-A (baseline) 74.3% 69-79 300 50prompt-B (candidate) 77.7% 73-82 300 45VERDICT: UNDERPOWEREDdifference +3.3 points, 95% CI [-3.3, +9.7]cases 60 run, 1117 needed60 cases cannot resolve a 5-point effect.The result is not "no difference",it is "not measured".
Most eval tooling reports that prompt A scored 73% and prompt B scored 76%, and leaves you to draw the obvious conclusion. On sixty cases at a non-zero temperature that conclusion is usually wrong. evalgate repeats every case, pairs the comparison so case difficulty cancels, and separates “no difference” from “not measured” — withholding a winner when the bootstrap interval spans zero and saying how many cases would have been needed. Detecting a +3-point improvement on a 73% baseline takes roughly 3,300 cases per variant; most published comparisons use 50–100.
restore-proof
PostgreSQL · streaming replication · WAL archiving · PITR · Ansible
$ ./scripts/take-basebackup.shbackup written: 39824 KiBstatus is UNVERIFIED. It stays that wayuntil verify-restore.sh restores it.$ ./scripts/verify-restore.sh # first attemptstate -> FAILEDrestored instance started but theledger table is unreadable$ ./scripts/verify-restore.sh # after the fixVERIFIED - 5000 rows, sum=2512153.06
Backup tooling reports the claim as the fact: the dump exited zero, the file is on disk, the dashboard is green. None of that establishes the data can come back. This runs Postgres with streaming replication and WAL archiving, then continuously tries to disprove its own backups by restoring each one into a throwaway instance and querying it. Three states and no fourth — VERIFIED, UNVERIFIED, FAILED — and the backup script writes UNVERIFIED on success, because exiting zero is not evidence. It caught its own failure mode while being built: a permissions mistake meant the restored container ran initdb and came up as a pristine empty cluster, perfectly healthy and completely empty. Only the query step noticed.