Sarang
Blog

Building this site

1 min read
  • Next.js
  • design

I wanted a portfolio that felt less like a résumé and more like a desk you could fidget with. So instead of a hero image and a wall of text, the home page is a series of small toys: a tilted 3D map of where I am, a typing test with a bongo cat, a drawing board for visitors.

Every one of those started as an excuse to learn something. The map taught me MapLibre's style system and how expensive it is to throw away a GL context. The typing toy was an exercise in measuring WPM without lying to the user. The drawing board was about getting canvas to feel immediate.

The rule I kept coming back to: if a thing animates in response to time or the pointer, it belongs in CSS or a ref-mutated style — not React state. State means re-renders, and re-renders are how a playful page turns into a janky one.

None of it is essential. All of it is the point.