--:--
notes/essays/sandbox.mdx

NOTES / Essays ·

How this site plans to grow

This site isn’t a portfolio. It’s a sandbox: whenever I want to learn a technology, I build something small and actually useful with it here.

The skeleton today:

  • @shiqi/pixel: a framework-free pixel drawing library: palette, reproducible random numbers, dithering, icons, and the wallpaper and doodle generators.
  • @shiqi/ui: the component library. Every theme (Day, Night, 1984 Gold, Matcha) is a set of CSS variables, and components only read semantic variables, so adding a theme means adding one set of variables. See every component on the Components page.
  • apps/web: server-side rendering with React Router. Pages arrive as HTML first, then become interactive React.
  • Server: a small cloud VM running the site, Redis and Caddy with Docker Compose; HTTPS certificates renew themselves.

What I want to build next:

  1. Course notes: one folder per course, written in MDX, with quizzes embedded right in them.
  2. Online quizzes: a question bank in Redis, tracking answers for spaced repetition.
  3. APIs: /api/* is reserved already, starting with /api/health.
  4. Kafka: once a bigger machine is in place, use it for event streams, like counting how often each toy gets played with (anonymously).

Slowly, and every step shipped in a state that can go live.