Kevin Tenn

Colophon

How this site was built

Stack

Framework
Next.js 16
Styling
Custom theme on Tailwind v4 + shadcn
Motion
Motion and Lenis smooth scroll
Icons
Lucide
Video
Mux
Images
WebP via next/image
Hosting
Vercel

Notes

  • Live weather background

    The hero is a canvas of iron filings that responds to your cursor and to the actual weather in Los Angeles right now. If it's raining, they fall in streaks. If it's foggy, they drift sideways. If a thunderstorm rolls in, the canvas flashes.

    The weather data comes from Open-Meteo's free forecast endpoint—no account, no API key, no billing. A Next.js route handler at /api/weather fetches it, caches the response for 10 minutes via `revalidate`, and maps WMO weather codes into nine internal conditions (clear, cloudy, fog, drizzle, rain, snow, thunderstorm, clear-night, partly-cloudy). Each condition carries its own physics—lerp speed, drift direction, precipitation density, accent color.

    Sadly LA weather rarely gets dramatic, so the weather chip doubles as a preview toggle. Click it to cycle through every condition—rain, snow, fog, thunderstorm, the works—and watch the canvas react.

    One day, maybe, I'll get to see real snow here.