Built a general-purpose distributed search engine from the ground up in a team of 7 at the University of Michigan, featuring large-scale indexing (100M+ documents), fault-tolerant crawling, and intelligent ranking using PageRank and custom heuristics to surface high-quality results.
Anubhav Agarwal
Software Engineer @ Two Dots
Hey! I'm Anubhav, a software engineer currently at Two Dots building software to automate tenant screening. I studied CS and Math at the University of Michigan, where I built Mithril (a distributed search engine indexing 100M+ documents) and a C++ game engine from scratch. I enjoy thinking about how systems behave at scale.
email anubhava@umich.edu
B.S. in Computer Science and Honors Mathematics
University of Michigan · August 2022 – May 2025
// relevant coursework
- Operating Systems
- Distributed Systems
- Programming Languages Theory
- Game Engine Architecture
- Search Engine
- Computer Security
- Machine Learning
- Honors Linear Algebra
- Honors Analysis
- Probability Theory
Software Engineer
October 2025 – present
Software Engineer
January 2025 – October 2025
Instructional Aide, EECS 482 (Operating Systems)
January 2025 – April 2025
A custom, multi-threaded C++ 2D game engine that uses CMake, GLM, SDL2, LuaBridge, Lua 5.4.3 (or LuaJIT — customizable), and Box2D. Has a data-oriented particle system design and dynamic component support for actors.
Distributed Sharded Key-Value Store with Paxos Consensus
Designed and implemented a fault-tolerant, sharded key-value storage system using Paxos for consensus, enabling horizontal scalability and high availability. Orchestrated dynamic shard reconfiguration and seamless data migration across replica groups, ensuring linearizable consistency under concurrent client requests.
Threading Library
A thread library in C++ for user-level thread management, simulating features such as thread creation, context switching, synchronization, mutual exclusion via mutexes, and condition variables for thread synchronization.
Job application tracker with modular design to scrape job listings and track application status on Google Sheets automatically.
A tool to help those who are not tech-savvy solve their tech problems; uses LLM & WebSockets to provide live instructions to solving any general-purpose issue.
An image uploader written in PHP and JavaScript with a login & admin system. Uses MySQL to store accounts and handle images.