Personal portfolio for GarfieldTV β Minecraft server operator, community manager, and Twitch streamer.
Dark BMW-inspired aesthetic: angular hairline borders, zero border-radius, monumental uppercase 300 display type, JetBrains Mono tech labels, deep navy (#031E49) Γ light M-blue (#4599FE).
- React 18 + Vite 5
- Tailwind CSS 3 (custom config, zero radii by default)
- Lucide React icons
- Inter + JetBrains Mono (Google Fonts)
npm install
npm run dev # dev server
npm run build # production bundle β dist/
npm run preview # preview the built bundlesrc/
βββ App.jsx App shell + skip link + scroll progress
βββ main.jsx React entry
βββ index.css Tailwind + BMW utility layer
βββ components/
βββ Navbar.jsx Fixed header with blue monogram
βββ Hero.jsx Monumental "GarfieldTV." headline
βββ Marquee.jsx Two-row scrolling labels
βββ About.jsx Deep navy bio panel
βββ Servers.jsx Asymmetric featured + compact cards
βββ Skills.jsx Oversized outline-number list
βββ Timeline.jsx Monumental year history
βββ Twitch.jsx HUD-framed live preview
βββ Contact.jsx Enumerated channel rows
βββ Footer.jsx Legal links + cookie-free note
βββ Legal.jsx Imprint / Privacy / Terms modal
βββ ScrollProgress.jsx
src/components/Hero.jsxβYOUR_TWITCH_USERNAMEsrc/components/Twitch.jsxβYOUR_TWITCH_USERNAMEsrc/components/Contact.jsxβYOUR_*handles andyour@email.comsrc/components/Legal.jsxβ full legal name, address, email in the Imprintindex.htmlβ canonical URL,og:image(add an image file + tag), Twitter handle
Imprint, Privacy Policy, and Terms are surfaced through a modal triggered from the footer (CH / EU compliance scaffolding). The text is ready-to-fill; swap the bracketed placeholders in Legal.jsx before going live.
- Skip-to-content link
- Visible focus outlines (
:focus-visible) prefers-reduced-motionrespected globally- Semantic landmarks (
main,nav,footer,dialog) - Keyboard-closable legal dialog (ESC)
Built with β€ by @garfieldtv.