fd32f1b1cf1648837fb75d84c9ce4e9fc5279eec
Build and Deploy / build-deploy (push) Successful in 45s
luisdralves
Personal portfolio as a linear scroll gallery. Motion as medium.
Stack
- Next.js 16 — RSC-first
- motion.dev — Scroll-driven animations, spring physics
- react-three-fiber — 3D travel passport with page turns
- Tailwind CSS 4 — Styling
- better-sqlite3 — Visitor counter persistence
- Biome — Linting and formatting
Environment
Copy .env.example to .env and configure:
| Variable | Description |
|---|---|
IMMICH_API_URL |
Immich API base URL (e.g., https://my.immich.app/api) |
IMMICH_API_KEY |
API key with scopes: album.read, asset.read, asset.download |
IMMICH_ALBUM_ID |
UUID of the album to display in the photography section |
Server Requirements
- exiftool (image metadata stripping)
Development
bun install
bun dev
Scripts
| Command | Description |
|---|---|
bun dev |
Development server (Turbopack) |
bun build |
Production build |
bun start |
Production server |
bun lint |
Biome checks |
bun format |
Biome formatting |
Languages
TypeScript
98.9%
CSS
0.6%
Dockerfile
0.4%