Play

Feeling bored? Let's play.

A portfolio without a playground is just a brochure. Here are a few little games I built for fun - because the best developers never quite grow up.

Controls

How to play.

Tetris

  • ← → move
  • ↑ rotate
  • ↓ soft drop
  • Space: hard drop
  • C: hold
  • P: pause

Snake

  • Arrow keys to steer
  • Avoid walls and yourself

Pong

  • W / S or ↑ ↓
  • Drag on touch screens
How they're built

A grid in React state

Tetris and Snake are grids drawn from React state and a timer.

Canvas and requestAnimationFrame

Pong draws on a canvas in a loop tied to the screen refresh.

Theme aware

All three follow the site's light and dark theme.