CS Student · Future AI Engineer · Builder
I build practical software, study computer science, and contribute to open source.
Open to internships and open source collaboration.
|
|
|
C · C++ · Python · Databases · Search · AI and ML · Open source
A relational database engine built from scratch in C11, inspired by SQLite. Its own file format with 4096 byte pages, a B tree with leaf splits, a SQL parser, and an interactive shell for INSERT and SELECT. Automated tests, a 1,000 row insert benchmark, and CI with AddressSanitizer and UndefinedBehaviorSanitizer. Educational, and not compatible with SQLite database files.
A search engine built from scratch in Python. An inverted index answers AND, OR, and quoted phrase queries, ranked by TF-IDF with deterministic results. CLI and web app, JSON persistence, and CI across Python 3.11 to 3.13.
A review-first CSV mapping and validation workspace, shipped and live. Import a CSV, map its columns to a target schema, validate every row against deterministic rules, and export clean data, with human approval before anything is final. Built on a FastAPI backend, entered in the Meta Global AI Developer Hackathon, and released as v1.0.0. Live demo: importguard.onrender.com.
A FastAPI REST API for storing secrets, built to learn backend security properly. Argon2 password hashing, Fernet encryption at rest, JWT access tokens, and secrets scoped to their owner, with audit events and PostgreSQL integration tests. A learning project, not production ready.
I build reliable software and study computer science, working toward AI engineering. My ground is systems and databases in C, search and ranking algorithms, and Python backend engineering, and I learn in the open by contributing to real codebases.
98 pull requests merged across open source projects. I contribute by learning the surrounding implementation, solving concrete issues, adding tests, and responding to maintainer feedback. A few examples:
| Contribution | What I worked on |
|---|---|
| Soup #1243 · merged | Fixed Transformers 5 BatchEncoding handling in sequence distillation and added regression coverage |
| Soup #1053 · merged | Fixed Rich markup handling for model names supplied by users and added regression coverage |
| Provena #182 · merged | Added regression coverage for CLI commands available at the top level exposed in help output |
| cubrid-mcp-server #1 · merged | Fixed SQL comment handling in audit categorization with regression coverage |
| pycubrid #378 · merged | Added strict positive integer validation for Cursor.arraysize across sync and async cursors |
The contribution city above is drawn from my real GitHub activity and refreshed daily by a generator I built: every building is a day, taller buildings mean more contributions, and quiet days stay parks.


