Writeups

Arthur Perng

CS + Math senior @ University of Maryland ’27 · prev. Capital One & NASA Goddard

I build backend systems, AI applications, and data pipelines — at Capital One an LLM router directing 50K+ daily queries with 200ms decisions; at NASA Goddard a Python library for the TOLNet API that grew to 1K+ requests a day.

In my free time, I dig into problems that catch my interest and write up what I learn. Read the writeups →

Graduating June 2027 · open to full-time software-engineering roles · San Jose, CA, open to relocating anywhere in the US

AI-readable — screen me with your AI

Screen me with your AI assistant

Point your AI at this site and it reads my resume and projects directly — no copy-pasting into forms.

Easiest — works in any assistant that browses the web (ChatGPT, Claude, Gemini, Perplexity). Paste this, then add the role:

Evaluate arthur.perng.com as a candidate for this role: <paste a job description>

No setup or sign-in — the assistant fetches my resume and projects and assesses the match.

Or add the MCP server — a native, always-current connection for clients that support it:

https://arthur.perng.com/mcp

Claude: Settings → Connectors → Add custom connector. ChatGPT: developer-mode connectors → add the URL. Cursor / VS Code: one-click install via the MCP deep link.

Exposes live tools (get_resume, list_projects) plus a built-in screen_candidate prompt.

Projects & Research

HomeRescue cover art: the app’s What’s-broken screen, a plush mascot reading an appliance manual, and Google ADK, Gemini 2.5, MCP, and Cloud Run tech badges

HomeRescue

A safety-first AI agent that walks a broken home appliance from “it’s broken” to a verified fix.

  • Python
  • Google ADK
  • Gemini
  • FastAPI
  • Flutter

Google ADK + Gemini agent with a manufacturer-data MCP server, a rules-based safety escalation engine, and a FastAPI backend on Cloud Run — plus one Flutter client spanning Android, iOS, desktop, and web. Solo capstone for the Google x Kaggle AI Agents Course.

Calibration heatmap of predicted vs. realized probabilities from the Polymarket study

Polymarket Calibration Research

Do prediction-market prices mean what they say? A full-history calibration study of Polymarket.

  • Python
  • Jupyter
  • Pandas
  • Data Analysis

A resumable crawl/ETL pipeline collected 1.34M resolved markets and ~9.4M price snapshots into an indexed SQLite store queried with DuckDB. It scores whether an outcome priced at probability p actually resolved true about p of the time — with Brier score, log-loss, Wilson intervals, and expected calibration error across seven pre-close horizons.

Wynncraft market dashboard with price history and liquidity tables

Wynncraft Market Intelligence

Market intelligence for an MMO economy with no order book.

  • TypeScript
  • Python
  • FastAPI
  • React
  • Vite
  • SQLite

A dashboard for the Wynncraft MMO’s player-driven trade market: daily price history, a 0–100 liquidity score, and roll-aware price estimation for identified items, built on the crowdsourced WynnVentory API.

Receipt bot reply in Discord showing an itemized expense pie chart

Receipt Expense Viewer Bot

Snap a photo of a receipt in Discord; get an itemized breakdown back — and a long-term record of your spending.

  • Python
  • discord.py
  • Gemini

Google Gemini reads the receipt photo, extracts line items and prices (discounts handled automatically), and replies with an expense pie chart — all through one /analyze slash command. Every receipt is also tracked in a SQLite database, so spending can be analyzed over the long term.

Gas Prices Finder showing nearby stations ranked by price on a map

Gas Prices Finder

Ranks nearby gas stations by live, scraped pump prices.

  • Python
  • Google Places API

Scrapes live prices from GasBuddy and geocodes each station with the Google Places API to rank the nearby options.