Home
About

Cribbage Circle App

A browser-based, two-player cribbage game I designed and shipped to production using Claude Code and Cursor. It's live with authentication, a complete cribbage match (cut, discard, pegging, scoring, a 121-point board), and a social layer with friends, challenges, and a leaderboard.

Play it live →

Features

  • Legal plays only. Cards you can't play are dimmed automatically, so you don't have to do the math.
  • Clear turns. Every screen shows whose turn it is and what happens next.
  • Beginner-friendly. Every score includes a clear breakdown of the card combinations and points.
  • Invite-only games. No stranger danger.
  • Friends-only leaderboard. You're ranked against the people you actually play.
  • Play at your own pace. Games are turn-based and wait for you.

What I owned

  • Interaction design (turning cribbage's rules into screens) + the social layer around it
  • Visual system
  • Copy
  • Structure and logic
  • Testing & QA

Tech stack

  • Framework: Next.js 16 (App Router) + React 19
  • Language: TypeScript
  • Styling: Tailwind CSS v4 + a token-based design system
  • Backend: Supabase (Postgres, auth, row-level security)
  • Server logic: Next.js Server Actions
  • Game engine: Custom, UI-independent TypeScript cribbage engine
  • Hosting: Vercel
  • Built with: Claude Code + Cursor, directed end-to-end

Coming next

Additional user testing, UX/visual polish on the in-game screens, a single-player mode, and a richer social layer with shareable invites, username search, and an expanded leaderboard.

Pixel Studies

Small-scale visual studies in translation, preserving what makes an image recognizable while reducing it to its simplest form.

Portraits

Pixel portrait of Toni and Candace

Toni & Candace

My loves. Probably my favorite characters on the show. They are fierce feminists and terrible bookstore owners.

Pixel portrait of Kath and Dave

Kath & Dave

Kath and Dave are tightly wound and very purposeful people. They are in a constant state of earnestly doing, or preparing to earnestly do something.

Pixel portrait of Lance and Nina

Lance & Nina

Lance is a no-nonsense, alpha male mechanic. Nina is a fun-loving, sweet, social media addicted girly-girl. Like two peas in a pod.

Pixel portrait of Nance and Peter

Nance & Peter

Peter is a recovering pasta addict. Nance always stands by "her guy." I love them, but frankly, sometimes I think she deserves better.

Pixel portrait of Irys and Spyke

Irys & Spyke

Lovely, punk couple. Aggressively allergic to the status quo and hippies.

Pixel portrait of Carrie and Fred

Carrie & Fred

The creators and stars of the show!

Process

Five pixel faces blocked out before hair and color
Illustrator workspace with reference photos and a pixel face in progress

Gifs made with love

I put a bird on It.

Icon Sets

A set of custom icons using consistent weight, spacing, proportion, and the small decisions that make an icon family feel cohesive.

Seattle · 20 icons

Fish icon
Rain icon
Coffee icon
Mount Rainier icon
Ferry icon
Forest icon
Totem icon
Grunge icon
Husky icon
Apple icon
Prius icon
Sasquatch icon
Pike Place clock icon
Pike Place pig icon
Emerald icon
Ice cube icon
Lumber icon
PJ icon
Space Needle icon
12th Man icon

Hawaii · 20 icons

Shaka icon
Surfboard icon
Volcano icon
Ukulele icon
Plumeria icon
Shave ice icon
Spam musubi icon
Loco moco icon
Pig icon
Gecko icon
Tiki icon
Rainbow icon
Conch shell icon
Coconut tree icon
Snorkeling icon
Slippahs icon
Pendant icon
Hawaiian flag icon
Chocolate macadamia icon
King Kamehameha icon
King Kamehameha icon and its construction stages
Fish icon shown over its construction circles and grid