Skip to content

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

marco-procopio

Personal portfolio of Marco Procopio, built with Next.js 16, Tailwind CSS v4, Motion, WebGL and Effect. Four pages (/, /work, /me, /about), dark only. Each serves English or Italian from the same URL: the rewrites in apps/web/next.config.ts pick from the browser's Accept-Language and rewrite to a hidden [lang] segment.

Develop

bun install
bun run dev        # http://localhost:3001
bun run check      # format, lint, type-check
bun run test       # unit tests (language matcher, film shelf)
bun run build
bun run --cwd apps/web test:e2e   # Playwright smoke test (starts the dev server if needed)

Where things are

  • apps/web/src/lib/copy.ts: all page copy, in both languages.
  • apps/web/src/lib/content.ts: links, profiles and the Work rows.
  • apps/web/src/lib/lastfm.ts, favorites.ts: Effect programs for the live track (Last.fm) and favourite films (Trakt); shelf.ts orders the films.
  • apps/web/language.ts: the Accept-Language matcher behind the rewrites.
  • apps/web/src/components/art-stage.tsx, gl.ts, scenes.ts: the WebGL dither art behind each page and its cursor reveal.
  • apps/web/public/art/: background photos (sources in scenes.ts). public/projects/: project screenshots. public/Marco_Procopio_CV_{EN,IT}.pdf: downloadable CVs, one per language.

Environment

LASTFM_API_KEY and TRAKT_CLIENT_ID (both optional) turn on the live track and films; without them the track line and the film shelf are left out. The schema is in apps/web/.env.schema (managed by varlock).

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages