Back to Portfolio

USMMA Wrestling: AI-powered site management for non-technical stakeholders

Built a recruitment platform for the US Merchant Marine Academy wrestling program — stakeholders describe changes in plain English, a Claude Code sandbox makes the edits, creates a PR, and returns a Vercel preview link for approval.

Posted by

USMMA Wrestling recruitment website

Objectives

  • 🙋🏻‍♀️ Build a recruitment site for the USMMA wrestling program
  • 🙋🏻‍♀️ Let stakeholders update the site without contacting a developer
  • 🙋🏻‍♀️ Keep changes safe — preview before going live
  • 🙋🏻‍♀️ Minimize friction with passwordless authentication

Results

  • ✅ Live recruitment site serving the USMMA wrestling program
  • ✅ Stakeholders update the site by chatting — no code, no tickets
  • ✅ Every change creates a PR with a Vercel preview link for approval
  • ✅ Magic-link auth — no passwords to remember or reset

Highlights

AI site editor showing PR with preview link

Chat-to-PR Workflow

Stakeholders describe what they want changed in plain English. The system spins up a temporary Claude Code sandbox, makes the edits, creates a GitHub PR, and returns a Vercel preview link — all within the chat. They review the preview, and if it looks good, the changes go live.

Sandboxed Code Execution

Each edit request spins up an ephemeral Vercel Sandbox — a Firecracker microVM running Claude Code. The AI reads the current site, makes the requested changes, commits to a branch, and pushes. No changes touch production until the stakeholder approves the preview. Safe enough for non-technical users to trigger updates daily.

Magic-Link Authentication

No passwords, no friction. Users enter their email and receive a secure sign-in link (JWT with 15-minute TTL). Sessions persist for 7 days via Upstash Redis. The entire auth flow takes seconds — critical when you want stakeholders to actually use the tool instead of emailing you.

Challenges and Solutions

Mobile Session Reliability

Mobile browsers aggressively kill background connections. I built reconnection logic that detects stale sessions, re-establishes SSE streams, and recovers chat history — so conversations survive phone sleep without losing context.

Making AI Edits Trustworthy

The key insight: never let AI push to production. Every change goes through a PR → preview → approve flow. Stakeholders see exactly what changed before anything goes live. Rate limiting (10 requests/hour) and session management prevent runaway costs.

Beyond the day job

As an assistant wrestling coach at USMMA, I was the bottleneck for every site update. Now the coaching staff can update photos, copy, and layout themselves — just by describing what they want. This is the kind of tool I wish existed everywhere: AI that handles the implementation so domain experts can focus on their actual job.