John Rathgeber

About Me

Hi! I'm John, a junior at Brown University, originally from Madison, Wisconsin, pursuing a double concentration in Mathematics-Computer Science and Music. I'm passionate about how logic, creativity, and innovation come together to solve problems in Computer Science.

My primary languages are C++ and Python, but I also have extensive experience with languages like Javascript, Typescript, Java, and SQL. I specialize in algorithmic problem solving, math-heavy systems, and backend engineering. This summer, I'm heading to Amazon Web Services as a Software Development Engineer Intern on the Amazon Quick Agentic AI team.

On campus, I am a teaching assistant (CSCI 0220, CSCI 1260), developer at Full Stack at Brown (see websites I've helped build), and a member of Brown's Vietnamese Student Association.

When I'm not coding, I'm usually at the piano practicing repertoire or composing my own music. I also do a lot of pit orchestra work - recently, I played Keyboard 1 in the Sauk Prairie Theatre Guild's production of The SpongeBob Musical, and Keyboard 2 in a Brown production of Carrie: The Musical. My favorite composers are Bach, Chopin, Beethoven, Mozart, and Joplin.

Outside of music and tech, I enjoy going to the gym, playing tennis or golf (or any sport), going out to eat, and reading.

If you'd like to connect, collaborate, or chat, please don't hesitate to reach out. Thank you for visiting my website!

me in front of Orwigheadshot
me playing pianolittle me winning piano award
me doing a funny poseme playing tennis

Projects

Google
AWS EC2

Distributed Search Engine

A search engine for the Linux Kernel Mailing List, built entirely from scratch and deployed on AWS using Node.js and Bash. It crawls and indexes 96K pages across 3 distributed nodes using a custom MapReduce pipeline, storing results in a 3.1GB distributed inverted index. Keyword searches are stemmed, broken into n-grams, and answered in under 2ms at around 500 queries per second. Read the full report here.

Kinetic Clash

Kinetic Clash

A two-player physics combat game with a custom collision engine, AI opponents, and real-time game mechanic customization. Built entirely in Python without external physics libraries. This started as a curiosity project to explore physics simulation and evolved into a playable game with customizable mechanics.

IMO Problem Formalization

IMO Problem Formalization

A formalization of IMO 1998 Problem 3 using the Lean 4 theorem prover. This project combines advanced mathematics (number theory) and functional programming to create a proof of a beautiful mathematical fact. This project was merged into the official Compfiles repository, containing formalized solutions to advanced math problems.
See the entry here.

Tumor Detection

Tumor Detection

A Convolutional Neural Network (CNN) to detect brain tumors in MRI scans. The model achieves 95% accuracy on official Kaggle datasets. Directed all stages of the project, including data preprocessing, model design, and performance evaluation. Uses Python along with deep learning frameworks such as Keras and TensorFlow. Read the full report.

Wisconsin DOT Position Estimation

Wisconsin DOT Position Estimation

An algorithm that recognizes and maps street signs from a dataset of over 3 million images. This algorithm uses computer vision methods such as monocular depth estimation and YOLO-based sign detection to compute real-world distances using exponential depth fitting and trigonometric projection.

Caching I/O

Caching I/O

A custom C-based I/O caching library to wrap read, write, and seek operations, reducing system call frequency and cutting disk access latency by 100x–1000x through buffered memory caching. It handles overlapping reads/writes, eviction via LRU, and correctness edge cases to closely match stdio behavior.

Contact

Feel free to reach out!

Resume

Resume preview optimized for desktop. Open or download the PDF.