Arthur Perng

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

I enjoy applying statistics, probability, and optimization to real-world data problems.

Resume

For recruiters using 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
  • React
  • Vite
  • Express
  • 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.