Profile

Software Engineer · Computer Science + Data Science, University of Pittsburgh

I've been writing software since middle school, mostly modding games I liked, and creating some of my own. These days it's mostly financial tools and automation, now increasingly with AI wired in. I'm doing CS and Data Science at Pitt in three years, trying to pick up everything I can along the way. On this website you can find some of my hobbies :)

Experience
logo

Software Engineering Intern · Federated Hermes

Jun 2026 – Aug 2026

  • Shipped production Databricks pipelines (Python, SQL) with CI/CD via Azure DevOps.
  • Tuned 15+ SQL queries across 10M–500M+ row tables, cutting latency ~40% (~12s → ~7s).
  • Built Paperclip, a role-scoped document search tool that won 1st of 8 teams (64 interns) at the internal hackathon.
PythonSQLDatabricksAzure DevOps
logo

Founder & Full-Stack Engineer · Keygrad

Aug 2025 – Present

  • Founded keygrad.com, which maps 43,000+ course equivalencies across 1,800+ colleges into 14 PA universities.
  • Built a plug-in ingestion pipeline that resolves institution/course identity across sources with no shared key.
  • Added a Claude API semantic-similarity layer to catch equivalent courses missed by exact-text matching.
Next.jsTypeScriptSupabaseVercel
www.keygrad.com
F

Co-Founder · Freelance Web Design

Jun 2024 – Present

  • Build websites for local businesses in my school district, from scoping through deployment.
FreelanceVercel
Projects
screenshot

Paperclip

👑 Hackathon Winner

Next.js · TypeScript · Claude API · Vercel

Slices internal SharePoint documents into small chunks and retrieves only the passages relevant to a query instead of pasting the whole document in, which is how it saves the majority of its tokens. Retrieval respects existing access permissions, so results never surface anything a user isn't cleared to see. A routing layer has Claude Haiku classify each query and dispatch to the right-sized model.

80%+ avg. fewer tokens/query1st of 8 teams, hackathon

On a 68-page doc: $0.18 to $0.0014 per query, a 99.2% drop. Estimated $3.9M+ in annually recovered employee time from a 60-person survey. Now under evaluation for production.

screenshot

Chess Blind Spots Analyzer

Python · Flask · SQLite · Stockfish

Ingests Lichess/Chess.com history and scores every move by engine centipawn loss, surfacing recurring weaknesses by phase, color, and severity.

130x faster, warm cache99.9% cache hit rate

Across 100 of my own games (2,427 moves): endgame, not openings, was the dominant leak, 443.3 vs. 164.3 avg centipawn loss, with blunders (9.4/100 moves) outweighing every other error type combined.

screenshot

Sports Arbitrage Finder

Next.js · TypeScript · Odds API · Tailwind

Aggregates live and pre-game odds across bookmakers, converts American odds to implied probability, and flags spreads where the books disagree enough to guarantee a profit, plus a calculator for optimal bet distribution and ROI.

250+ opportunities, 7 days live9 books 70 sports scanned

One scan: 659 games checked, 6 live opportunities found, best guaranteed profit 28.57%.

Live demo →
Hobbies

Typing speed

74%
185 WPMgoal: 250 WPM

65 WPM to go

15s test at monkeytype.com

Bench press max

81%
255 lbgoal: 315 lb

60 lb to go

Shoutout the Pitt Rec Center

Mile time

84%
5:57goal: 4:59

58s to go

Peaked in high school :(

Chess peak rating

77%
1,389goal: 1,800

411 pts to go

chess.com: gamingtime3

Bedwars stars

61%
611goal: 1,000

389 stars to go

Minecraft: Jqmezz

Hardest Geometry Dash level

Windy Landscapegoal: Black Blizzard

Easy

Medium

Hard

Insane

Extreme

Geometry Dash: JamezzGamezz

👑

Hackathons won

20%
1goal: 5

4 wins to go

2 attended so far, 50% win rate

Bouquets given

24%
6goal: 25

19 to go

For my girlfriend