I'm a Computer Science and Data Science student at Bucknell University, graduating in May 2027. I build full-stack applications, AI tools, and software for research, and contribute fixes, features, tests, and documentation to open-source projects.
I'm interested in 2027 new graduate software engineering roles, especially backend, data, and AI engineering.
Portfolio · Resume · LinkedIn · Email
My upstream work spans geospatial computing, graphics, API standards, cloud infrastructure, and scientific tooling. Each entry links to the actual pull request.
| Project | Contribution | PR |
|---|---|---|
| Apache Sedona | Added support for Zstandard-compressed NetCDF4 raster data, including an HDF5 filter provider, regression fixture, and pixel-value checks. | #3379 |
| Apache Sedona | Documented how to deploy and use Sedona R on AWS EMR, covering bootstrap installation, Spark connections, and JAR configuration. | #3334 |
| Apache Sedona | Aligned polygon orientation predicates with PostGIS semantics for nested geometry collections and non-polygonal inputs; added null-handling coverage across execution engines. | #3292 |
| Apache Sedona | Preserved explicit no-CRS metadata for locally constructed GeoSeries and GeoDataFrames, avoiding unnecessary distributed SRID discovery. | #3279 |
| GA4GH Tool Registry Service | Corrected the OpenAPI bearer authentication scheme so API documentation and generated clients use native HTTP bearer authentication. | #280 |
| Harbor Satellite | Added a Go Report Card badge to make the project's Go code quality report accessible from its README. | #328 |
| Project | Proposed contribution | PR |
|---|---|---|
| MaterialX | Implemented node grouping that preserves internal and external connections, moved the operation into a reusable core API, and added tests plus a Shift+C editor shortcut. | #3002 |
| ELIXIR Cloud FOCA | Improved MongoDB environment-variable normalization, access-control startup logs, resource loading, and related tests. | #256 |
| ELIXIR Cloud FOCA | Added complete MONGO_URI configuration with precedence checks, access-control setup logs, and deprecation cleanup. |
#257 |
| FOSSASIA PSLab Python | Added an in-memory connection handler and ScienceLab(mock=True) so development and initialization tests can run without physical hardware. |
#274 |
Closed proposals (not merged)
| Project | Proposed contribution | PR |
|---|---|---|
| Apache Sedona | Proposed filtering a known degenerate-collision stack trace to prevent straight-skeleton operations from flooding executor logs. | #3280 |
| Harbor Satellite | Proposed centralizing password policy enforcement in the hashing function, with typed errors and updated handlers and tests. | #331 |
PR statuses checked October 1, 2026. All authored pull requests.
Film color analysis for researchers
Built with a three-person team under a faculty mentor. The application lets researchers upload films, submit processing jobs to an HPC cluster, and explore color barcodes and interactive visualizations in a browser.
- My work includes the web interface, visualization interactions, live barcode previews, and side-by-side comparisons.
- The system connects chunked video uploads, SLURM processing, and shared storage with Next.js, Python, and Plotly.
An assistant for Bucknell's course catalog and academic policies
Built with a three-person team for Bucknell's Office of Institutional Research and Analytics, supervised by a full-time staff member.
- Contributed to document retrieval, academic planning, conversation memory, and the chat interface.
- Proposed backend refactors separating API routes, services, and data access: #3 (open), #2 (closed, unmerged), and #1 (closed, unmerged).
- Uses FastAPI, LangChain, ChromaDB, SQLite, and Next.js for retrieval, cited answers, and persistent conversations.
Music discovery with an AI research agent
Built an application that combines Spotify search with an agent that researches songs through Spotify, Genius, and live web search.
- Streams research progress and cited reports over server-sent events, with findings labeled verified, inferred, or speculative.
- Includes Spotify OAuth, token refresh, interactive song reports, and cached research results.
A hardware-to-mobile food-waste prototype
Developed with a four-person team connecting a BME688 sensor, a Python freshness engine, FastAPI, and an Expo mobile app.
- Tracks temperature exposure, estimates remaining freshness, and supports label scanning and a local tool-calling assistant.
- Includes telemetry simulation and tests for the engine and API. This is an experimental waste-reduction prototype; its estimates have not been validated as food-safety measurements.
Clipboard images to remote servers
Built a Go CLI that uploads clipboard images over SSH/SFTP without a remote daemon.
- Includes an interactive setup wizard, saved connection profiles, and a terminal profile picker.
- Separates clipboard access, configuration, SSH connections, and the terminal interface into focused modules.
Mood tracking and reflection
Developed with a four-person Scrum team to help users record moods, identify triggers, and review journal entries.
- Combines mood history and statistics with AI-generated wellness tips.
- The original desktop application uses JavaFX, MongoDB, and the Gemini API.
Languages: TypeScript / JavaScript, Python, Java, Go, C, C++, SQL
Applications: React, Next.js, Expo / React Native, FastAPI, Node.js
AI and data: LangChain, retrieval-augmented generation, tool-calling agents, ChromaDB, PostgreSQL, MongoDB
Infrastructure: Git, Docker, GitHub Actions, Linux, HPC / SLURM


