Rupert Maiti

I build backend and ML infrastructure.

Computer Engineering student at the University of Waterloo, class of 2028. I design things as much as I build them.

To me, engineering is a way of making everyday life a little easier. The things I build should work well, look good, and feel good to use.

I stay curious, keep learning, and am usually chasing the next problem worth solving.

Experience

SenpilotSoftware Engineer Intern, New York

Jan 2026 - Apr 2026

Python · TypeScript · Temporal · GCP · pgvector · Redis · Braintrust

NokiaML Engineer Intern

Sep 2024 - Dec 2024May 2025 - Aug 2025

Python · JavaScript · React · LangGraph · PyTorch · RAG · Vector search · LLM evals

SkejSoftware Engineer, Contract

Jan 2026 - Mar 2026

Python · TypeScript · AWS · SQS · Lambda · Terraform

Projects

Seal

Zero-copy shared memory object store for Python, written in Rust

Python workers normally hand objects to each other by pickling them, and that gets expensive fast. Seal keeps objects in mmap-backed shared memory segments so every process reads the same bytes without copying anything. A supervisor owns the segments and workers attach to them. Refcounts live in a bitmap, so a worker that dies halfway through a write cannot corrupt a segment or leak one. I checked the concurrency two ways: loom model checking on the Rust side, and a chaos injector that killed 10,000 workers mid-run. Zero leaked segments.

Rust · PyO3 · mmap · loom

TRACE

WAT.ai · Software Developer

Agent observability harness

TRACE is the harness WAT.ai uses to see what an agent actually did on a run, step by step. I own the agent runner. It is built on Python Protocols, so the model, the tools, and the trace backend can each be swapped out without touching the run loop. Every run emits OpenTelemetry and OpenInference spans, so traces show up in whatever tooling the team already has open.

Python · OpenTelemetry · OpenInference

Git-Hired

Ranks GitHub profiles against a job description

Give it a job description and a candidate's GitHub profile, and it tells you how well they line up. It reads through the candidate's public repos, looking at how active they are, how clean the code is, and whether anything is documented, then asks Gemini to score all of that against what the role asks for. The Flask backend exposes the analysis as a REST API, the Next.js frontend consumes it, and uploaded resumes go into MongoDB GridFS.

Team project with Jeffrey Huang and jordyo40.

Next.js · TypeScript · Flask · MongoDB · Gemini · GitHub API

NoteBuddy

Turns YouTube videos, PDFs, and voice recordings into study notes

Drop in a PDF, paste a YouTube link, or record yourself talking through something, and NoteBuddy hands back structured study notes. The React frontend talks to a Flask backend that handles the uploads and the summarization, with MongoDB and JWT auth behind it.

React · Flask · MongoDB · JWT

Tools

Languages
Python, C/C++, Java, Go, TypeScript/JavaScript, SQL, Bash
Frameworks and libraries
React, Next.js, FastAPI, PyTorch, Temporal, LiteLLM, Vertex AI, Braintrust
Systems and cloud
Linux, Docker, Kubernetes, Terraform, AWS, GCP, Redis, PostgreSQL, ClickHouse, Cloudflare

Contact