Portfolio
Things I'm building or have built. Some are finished, some are ongoing.
peteshepley.com
This site — an Astro-based personal presence and blog, deployed to AWS via OpenTofu and GitHub Actions.
Resume API
An API for resume-shaped data — profile, work experience, education, skills, certifications, hobbies, and goals — served back as JSON or Markdown. Python on AWS Lambda, DynamoDB, and API Gateway, authenticated with Clerk.
Read the OpenAPI docs, or sign in to the Resume App to use it with your own data.
Resume App
A signed-in editor for resume-api data — view your assembled resume and edit every section: profile, experience, education, skills, certifications, hobbies, and goals. React, TypeScript, and Vite, authenticated with Clerk.
Sign in and build out your own resume.
Gin Rummy
A two-player card game in the browser — PixiJS table, a deterministic game engine, and a small WebSocket relay so two people can play from anywhere.
Create a room and send the code to a friend, or play both seats in one browser.
Crazy Eights
Crazy Eights for two to six players, built on a shared card kit and the same WebSocket relay as Gin Rummy — the relay sequences moves for any game without knowing its rules.
Create a room, share the code with up to five friends, and start once everyone is in.
Hearts
Four-player Hearts on the same card kit and relay: passing, follow-suit trick play, moon shots and games to 100, all driven by a pure engine that every client replays from the same seed.
Create a room and share the code with three friends; the game starts when the fourth joins.
Spades
Partnership Spades with bidding, nil, bags and games to 500 — the second trick-taking game on the shared card kit, reusing the same trick primitives and four-seat table as Hearts.
Gather four players in a room; the first and third to join are partners against the second and fourth.
Solitaire
Klondike on the shared card kit, with no server at all: because the game is a pure function of its seed and move log, undo, saved games and shareable deal links come almost for free.
Play a deal, then use Deal # to copy a link that replays the exact same deal elsewhere.
API Console
A signed-in API test console for peteshepley.com's APIs — pick an API from the dropdown, browse its OpenAPI documentation, and try live requests against your own data. React, TypeScript, and Vite, authenticated with Clerk.