
> /CS
this->website
Password-protected photography gallery that converts Olympus .ORF raw files into a searchable, album-organised web gallery.
View on GitHub// Features06 ITEMS
- ORF → JPEG extraction via rawpy on upload
- Two-tier password auth (gallery / admin), rate-limited, httpOnly cookies
- Server-side API proxy. Key never reaches the browser
- Paginated gallery (24/load), search, album filtering and renaming
- Collectible photo cards: foil frame, one pointer-driven light, flip to a details back
- Edit request form with filename pre-fill from gallery search
// Challenges04 LOGGED
CHALLENGE 01
- PROBLEM
- Vercel's 4.5 MB function limit blocked ORF uploads
- SOLUTION
- Presigned R2 URLs. Browser PUTs directly to R2, backend processes in place
CHALLENGE 02
- PROBLEM
- API key visible in browser JS bundle
- SOLUTION
- Next.js catch-all proxy route injects key server-side
CHALLENGE 03
- PROBLEM
- backdrop-filter silently killed 3D flip animation on Safari
- SOLUTION
- Moved glass styling to individual card faces, not the rotating container
CHALLENGE 04
- PROBLEM
- Password cookie missing after router.replace() on Safari
- SOLUTION
- window.location.href forces a full browser request, guaranteeing cookie availability

