# 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](https://exiftool.org/) (image metadata stripping) ## Development ```bash 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 |