lerko96 c36cc94437 feat(ui): add timeline component; complete terminal-noir design system
- introduce Timeline component with scroll-in animation and type-colored
  spine dots (career/edu/cert/project/homelab)
- swap terminal-noir palette for macOS Classic dark/light with matching
  timeline color tokens in globals.css
- add light mode overrides, cursor blink keyframe, font-size 14px base
- update Widget header: prefix/name split, bracket badge, no divider rule
- align archive and homelab page headers to ❯ prompt style
- convert all font-sans prose in homelab/archive to font-mono
- rename widget titles to namespaced paths (homelab/network, etc.)
- skills label: uppercase tracking → plain text-sm; remove row borders
2026-04-16 18:03:33 -04:00

Tyler Koenig portfolio

Personal portfolio site. Live at lerkolabs.com — self-hosted.

Source: gitea.lerkolabs.com/lerko/portfolio

Stack: Next.js 16 · React 19 · TypeScript · Tailwind v4


Branches

  • dev — source code; pushing here updates lerkolabs.com
  • master — reserved for future GitHub mirror; don't touch manually

Commands

npm run dev      # dev server at localhost:3000
npm run build    # static export into out/

Deploy

git checkout dev && git merge <branch> && git push gitea dev

Push to dev triggers Gitea Actions (.gitea/workflows/deploy.yml):

  1. Builds the static site (npm run build)
  2. rsyncs out/ to the portfolio LXC
  3. Rebuilds and restarts the Docker container serving lerkolabs.com

Project layout

src/
  app/
    layout.tsx          # root layout, fonts, ThemeProvider
    page.tsx            # home: hero, skills, project cards
    homelab/page.tsx    # homelab page: VLANs, services, ADRs
    archive/page.tsx    # older projects grid
    globals.css         # full design system (Tailwind v4 CSS-first, all tokens here)
  components/           # Nav, Footer, Hero, ThemeScript, etc.
  context/
    ThemeContext.tsx     # dark mode provider + useTheme hook
  data/
    projects.ts         # all projects, featured + archive split
    services.ts         # homelab services with categories
public/                 # static assets copied into out/ on build

Tailwind v4 is CSS-first — no tailwind.config.ts. All custom tokens live in globals.css under @theme {}.

Description
Tyler Koenig portfolio
https://lerkolabs.com
Readme 45 MiB
Languages
TypeScript 93.8%
CSS 4.9%
JavaScript 1.2%
Dockerfile 0.1%