Web

Portfolio Website

Version 1 of this site

Portfolio Website screenshot
Portfolio Website screenshot 2
Portfolio Website screenshot 3

A personal portfolio built as a real product rather than a template. Next.js 15 and React 19 on the front, with a Three.js shader background, a full ⌘K command palette for keyboard navigation, and a scroll-pinned experience timeline. The community chat runs on Supabase Realtime, rate-limited through Upstash Redis and filtered for profanity before anything posts. Fully themed light and dark, reduced-motion aware throughout.

Core
  • Next.js 15: App Router, RSC, static generation
  • React 19
  • TypeScript 5.7
Styling
  • Tailwind CSS v4: @theme tokens, PostCSS pipeline
  • Custom light/dark palette on the html element
  • Geist + JetBrains Mono via next/font
Graphics & motion
  • Three.js: the hero's ColorBends WebGL fragment shader
  • Motion 11: springs, scroll reveals, palette transitions
  • lucide-react: icons
Backend & data
  • Supabase: Postgres + Realtime, powering the community chat
  • Upstash Redis + @upstash/ratelimit: rate limiting on the chat endpoint
  • obscenity: profanity moderation before messages post
  • Next Route Handlers: /api/chat
  • GitHub Contributions API (jogruber): the heatmap
Deploy
  • Vercel
NextRecallAI