Shlok Thakkar

Software Engineer · Champaign, IL

Currently at JCAIL, Johnson Controls' AI lab in the University of Illinois Research Park, and working on the Charm++ parallel runtime at UIUC's Parallel Programming Lab.

Download PDF · Open the desktop version

Education

B.S. Computer Science + Economics

University of Illinois Urbana-Champaign · 2024 - 2028

Minor in Statistics · GPA 3.91/4.00 · Expected May 2028

Coursework: Algorithms & Models of Computation (CS/ECE 374), Computer Architecture (CS 233), Data Structures, Discrete Structures, Linear Algebra, Statistical Analysis

Fellowships

a16z speedrun Alpha

Fellowship · a16z · Summer 2027

Experience

Software Engineering Intern - Johnson Controls AI Lab (JCAIL)

Sep 2026 - Present · Research Park @ UIUC

  • Joined JCAIL, Johnson Controls' AI lab in the University of Illinois Research Park

Software Engineering Intern - Stealth Startup

Jun - Aug 2026 · New York, NY

  • Cut claim-research latency from 2-3 min to 30-40 s (~75%) by parallelizing a two-phase LLM research pipeline across 6 concurrent web-search calls
  • Built a serverless backend across 4 AWS Lambda functions and Aurora PostgreSQL Serverless v2, holding sub-100ms query latency and removing 4 managed services via the RDS Data API
  • Designed a 12-table PostgreSQL schema with pgvector (1,024-dim embeddings) and full-text search, serving hybrid retrieval through RRF fusion of cosine and BM25 in a single SQL query with no separate vector store
  • Shipped a durable 8-stage claim-lifecycle state machine on Inngest with typed events, per-case concurrency isolation, automatic retries, and 57 unit tests
  • Hardened the LLM tool layer against prompt injection, catching 112 of 113 adversarial payloads

Undergraduate Research Assistant - Parallel Programming Lab @ UIUC

Apr 2026 - Present

  • Implemented custom operators and broadcasting for a distributed NumPy-style array abstraction in C++ on the Charm++ parallel runtime
  • Redesigned 3 core runtime APIs in C++20 for Reconverse, a ground-up rewrite of the Charm++ parallel runtime

Software Developer - Disruption Lab @ UIUC

Aug 2025 - Present

  • Converted a read-only tool into a fully editable platform for 40+ users by building a Flask + Neo4j REST API serving real-time project-resource dependency graphs, cutting query latency 60% with optimized Cypher
  • Expanded automated tax-schema diff coverage from 7 to 27 states (+286%) for a Fortune 500 financial-services client by building a Python/lxml XSD parser over a 44-jurisdiction pipeline
  • Safeguarded data integrity ahead of downstream integration by writing 43 unit tests across XSD fixtures and business-rule mappings

Undergraduate Research Assistant - Dept. of Finance @ UIUC

May 2025 - Apr 2026

  • Achieved a 63% firm-level match rate at 90% precision across 10M+ records by building an NLP entity-resolution pipeline (TF-IDF, Levenshtein, fuzzy matching) over the TED and ORBIS financial databases
  • Cut pipeline runtime 73% (48 hrs to 13 hrs) through name normalization, deduplication, and batched text cleaning across 8 cores
  • Delivered matched datasets cited in 3 faculty working papers

Software Development Intern - IQM Corporation

Jun - Aug 2025 · Ahmedabad, India

  • Delivered AI-powered analysis to 3 internal teams serving 40+ concurrent users under a 30 s latency target by building a production FastAPI service with JWT auth and rate limiting on AWS Bedrock via LangChain, reducing P95 latency 40%

Projects

greenroom - Disposable macOS VMs where coding agents prove their work

Go · Swift · SwiftUI · MCP · Tart · NVIDIA NIM

  • Go daemon that clones a macOS VM per run with Tart, records every command, screenshot and frame as evidence, and serves the machine to any coding agent as 33 MCP tools
  • Its own verifier agent on NVIDIA NIM drives the guest through the accessibility tree and proposes a verdict per acceptance check, and the daemon refuses to finish a run as verified unless a pass was accepted
  • SwiftUI companion app that streams the guest's screen as hardware-encoded H.264 and lends a person the mouse and keyboard under a control lease
  • 586 commits across 135 merged PRs and 48 ADRs, with 1,000+ Go tests that run the whole machine lifecycle against a fake tart, no VM needed

switchboard - Shared channel and task board for people and their coding agents

TypeScript · Cloudflare Workers · Durable Objects · React 19 · MCP · GitHub App

  • One command joins a Claude Code, Codex or Gemini CLI session to a per-repo channel, capturing its work three ways: lifecycle hooks, an MCP tool server, and a proxy over the Anthropic, OpenAI Responses and Gemini APIs that masks secrets
  • Cloudflare Worker with one SQLite-backed Durable Object per repo, where every task is a GitHub Issue and each claim gets its own branch, worktree and pull request
  • Relay that gives every event a verdict per agent (drop, queue for the next turn, or interrupt mid-turn) from a calibrated decision model, downgrading low-confidence interrupts
  • Only a person's directive carries instruction weight; everything one agent hears from another is information
  • CLI, Worker and React dashboard in one TypeScript repo with 339 Vitest cases, built across 46 merged PRs

window-organizer - macOS window organizer that takes over nothing until you press a key (in progress)

Swift · macOS Accessibility API · CGWindowList

  • Content-aware layout engine that sizes windows by what they are, so a music player gives up its monitor and a terminal keeps its space
  • On a real desktop, cut hidden window pixels from 64.8% to 0% and windows more than half buried from 5 to 0
  • Combines CGWindowList for true on-screen order with the Accessibility API for moving windows, and discovers each window's undocumented minimum size by requesting 1x1 and reading back the refusal
  • Undoable by design: a dry-run plan by default, --apply to arrange, --undo to put every window back

feelens - Stripe fee intelligence dashboard

Next.js 16 · TypeScript · Tailwind 4 · Supabase · Anthropic API · Recharts · live demo

  • Zero to one full-stack: 24 React components, 8 App Router API routes, Supabase Postgres with row-level security, public demo mode requiring no credentials
  • Surfaces the 0.3-0.5% most startups pay above Stripe's nominal 2.9%: Amex premiums, international surcharges, retained refund fees, and won-dispute fees
  • LLM fee optimizer that feeds a computed leakage breakdown into the Anthropic API for ranked recommendations with estimated monthly savings
  • AES-256-GCM encryption of tenant Stripe keys at rest, with Stripe accessed read-only

vibesafe - AI security review for pull requests

TypeScript · GitHub Actions · Express · PostgreSQL · Redis · NVIDIA NIM

  • GitHub Action that reviews PR diffs across 10 vulnerability categories and 3 severity tiers, posts a 0-100 score, and blocks merge on critical findings
  • Runs Llama 3.3 70B on NVIDIA NIM through the OpenAI-compatible API in enforced-JSON mode, with a repair pass that drops findings the model got wrong
  • 3-package TypeScript monorepo: action, Express/PostgreSQL/Redis API, shared types, 27 unit tests
  • YAML-configurable severity thresholds, ignore paths, skipped categories, and custom rules

cartel - Shared-cart payments agent (Ramp Builders Cup finalist)

Next.js 16 · React 19 · Supabase · OpenAI API · Zod · Vitest · PWA · live demo

  • Finalist at a one-day NYC hackathon on the theme save money, save time, with a 4-person team
  • Deterministic largest-remainder split engine allocating every line-item cent exactly, with no LLM anywhere on the money path
  • Agentic cart builder turning free text into a priced multi-vendor cart, where the LLM never sees a vendor price and never writes a number
  • Compiles each roommate's rule sentences into structured policies, then routes flagged lines for live approval on the owner's phone before any card is charged
  • Mobile-first installable PWA over 23 App Router API routes, 10 Postgres migrations, and 81 Vitest cases, demoed across two devices on a local hotspot

scroll-royale - 1v1 competitive scrolling iOS app

SwiftUI · Combine · AVKit · Supabase · PostgreSQL · demo video

  • Built end to end in 30 hours at HackIllinois 2026 across 31 Swift source files, including a custom design system
  • 10-table Supabase Postgres schema with row-level security, 15 RPC functions, and 5 SQL migrations
  • Near-real-time score sync via batched telemetry writes, adaptive polling, and a TTL cache with stale-while-revalidate

raft-kv - Distributed key-value store

Go · net/rpc · zero dependencies

  • Raft consensus from scratch against the paper, no consensus library: leader election, log replication, persistence, and snapshotting across a 5-node cluster
  • Linearizable reads routed through the log rather than the local map, with exactly-once client semantics via a dedup table
  • 1,000+ concurrent operations under chaos testing that killed and rejoined nodes across 30-second fault windows

orderbook - Limit order book

C++20 · CMake · Catch2

  • Thread-safe matching engine across 5 order types with FIFO price-time priority and O(1) cancellation
  • Incremental level cache cutting pre-checks from O(N) to O(P), roughly 500x on a 10K-order book
  • O(1) microstructure queries for best bid/ask, spread, mid-price, and depth, with a 46-case Catch2 suite

blueprint-qa - AI review of construction and engineering drawings

SvelteKit · FastAPI · PostgreSQL · NVIDIA NIM · pytesseract · Docker · live demo

  • Upload a PDF, get flagged missing tags, dimension mismatches, and unlabeled elements
  • OCR via pdf2image and pytesseract feeding a Llama 3.2 11B vision model per page, with async SQLAlchemy persistence
  • Ships as one Docker image serving both the API and the static SPA, deployed split across Vercel and Render

whoop-local - Local-first WHOOP 5.0 client over Bluetooth LE (in progress)

Python · bleak · Bluetooth LE · GATT

  • Reads the band directly over BLE with no phone and no cloud in the path, which also yields live heart rate that the official cloud API cannot provide
  • Enumerated the 5.0's full GATT profile into a mapped service and characteristic reference, since public reverse-engineering coverage stops at the 4.0
  • Staged plan: decode packets and derive metrics in Python, then reimplement as a Rust daemon streaming into local SQLite

Technical Skills

languages
TypeScript, JavaScript, Python, C/C++, Go, Swift, SQL, Java
ai/agents
agentic workflows, tool calling, Anthropic API, OpenAI API, NVIDIA NIM, AWS Bedrock, LangChain
retrieval
pgvector, RRF fusion, BM25, full-text search, prompt-injection defense
frontend
React, Next.js, Tailwind CSS, shadcn/ui, SvelteKit, SwiftUI, Framer Motion
backend
FastAPI, Flask, Express, Node.js, REST APIs, microservices, caching
databases
PostgreSQL, Aurora, Supabase, Redis, Neo4j, Inngest
distributed
Raft consensus, Charm++, concurrency, low-latency services, large-scale data pipelines
cloud
AWS (Lambda, Aurora, Bedrock, EC2, S3), Terraform, Docker, Vercel
tooling
Git, GitHub Actions, CI/CD, Vitest, Catch2, pytest, CMake