- 404: stripped gear with wobble animation, missing tooth, clack text
- 500: seized gear with sparks and crack animations, fire extinguisher joke
- Both use site design system (dark theme, orange accent, Inter/JetBrains Mono)
- Nginx configured: error_page 404/500/502/503/504 → custom pages
- SVGs rendered via set:html to avoid JSX brace conflicts in Astro
- Astro 5.x static site with content collections for extensions
- Pages: index, [slug] (per-extension), coffee (Ko-fi), feedback form
- Go binary gs-feedback: SQLite storage + Discord webhook notification
- Nginx config: static serving + POST proxy to Go backend
- Deploy script: build + rsync to VPS
- ThockBoard landing page with features and sound pack listing