e268f2a359bf2f39bb5be3c5723c2a360d9c7d48
- Dossier proof statuses now come from projects.ts - Mono.png replaces the placeholder silhouette and the SVG favicon - Header, hero and bust tweaks Co-Authored-By: Claude Opus 5.5 <[email protected]>
selimaj.dev
Portfolio site. Next.js (App Router, static export) and Tailwind CSS v4.
npm install
npm run dev # http://localhost:3000
npm run build # static site in out/
npm run lint
npm run build writes plain HTML/CSS/JS to out/, which any static host can serve.
Where things live
src/content/: all copy and data, including every placeholder (markedPLACEHOLDER).profile.ts: name, title, stance, dossier fields, links, map lock.dossier.ts: the five About files.projects.ts: projects, statuses, node-map positions, featured nodes.
public/profile/Mono.png: profile picture (the favicon is a copy atsrc/app/icon.png). Replace the file, or pointprofile.pfpat a new one.public/terrain.svg: hero terrain contours (Dajt elevation data).src/app/globals.css: colour tokens, bracket/grid utilities, and all motion.
Rules worth keeping
- Green (
accent) means active or detected: hover, focus, current page, live telemetry, the lock. Nothing at rest is green. - The map shows Tirana city centre only. Never add anything finer than city scale.
- All motion sits behind
prefers-reduced-motion: no-preference. Text renders without JS.
Languages
TypeScript
90.4%
CSS
8.9%
JavaScript
0.7%