Photography System
A full-stack photography platform for exploring 170+ photographs through exact and semantic discovery, a map-backed Photo Atlas, Veo cinemagraphs, daily curation, and immersive React Three Fiber 3D browsing.
Overview
Creative Engineering / AI gallery system
The Photography Gallery is a full-stack platform for publishing, discovering, and curating a personal photo collection. Visitors can browse a responsive masonry grid, map-backed Photo Atlas, or immersive 3D gallery, search by natural-language description, and apply exact tag or location filters that cannot be broadened into unrelated results. The Atlas adds city summaries, location deep links, focused previews, and nearby-photo navigation. Secure admin workflows handle EXIF-aware uploads, AI-generated metadata, spotlight overrides, analytics, and Veo 3.1 cinemagraph generation. Gemini re-ranks semantic results, Vertex AI embeddings provide similarity search, and a shared visibility-aware query core also powers Ask Abdo's public photo discovery without making a second request through the public API.
Technical stack
6 stack groups
Core Framework
4 instruments in this layerKey features
8 capability groups
AI-Powered Photo Analysis
5 implementation notes- 01
Automatic title and description generation using Google Gemini 3.7 Flash model.
- 02
Intelligent tag suggestions based on visual content analysis.
- 03
Color palette extraction and thematic categorization for tags.
- 04
EXIF data extraction with timezone support, camera model normalization, and smart metadata enhancement.
- 05
Location and tag creation directly during upload with duplicate prevention.
Architecture notes
20 recorded decisions
- 01
Load-all strategy fetches the entire photo catalog (~170) then applies client-side filtering for instant results.
- 02
Dynamic facet calculation recalculates tag/location counts based on current filtered view.
- 03
Two-phase cron orchestrator for daily photos with exclusion lists to prevent repetition across global timezones.
- 04
Gemini 3.5 Flash-Lite re-ranking pipeline with exponential backoff retry logic for AI rate limits.
- 05
Hybrid search architecture combining Vertex AI semantic embeddings with PostgreSQL full-text search.
- 06
Session-based authentication with durable PostgreSQL session persistence and React cache() deduplication.
- 07
Anonymous engagement system using browser fingerprinting for loves and view tracking.
- 08
On-demand revalidation via revalidatePath() replacing ISR for immediate photo page updates.
- 09
Selection count tracking (selection_count, last_selected_at) ensuring fair photo rotation.
- 10
EXIF timezone extraction and camera model normalization for accurate metadata.
- 11
Responsive tag handling in PhotoCard using ResizeObserver for dynamic space management.
- 12
PostgreSQL distributed coordination claims preventing race conditions in daily photo computation.
- 13
Versioned cache invalidation clears stale search results immediately upon photo mutation.
- 14
Extracted a visibility-aware public query core for bounded named filters, exact-ID/title retrieval, facet inventory, and assistant-safe photo attachments without making a second request through the public API.
- 15
Comprehensive metadata editing during upload with location/tag creation and duplicate prevention.
- 16
Cloudinary video delivery uses a bounded synchronous incoming fill-crop/mute transformation so the returned playback URL identifies the processed asset.
- 17
Inngest serverless functions orchestrate both backlog processing and live Veo cinemagraph generation.
- 18
Immersive 3D gallery with texture preloading, cache versioning, cylindrical layout, touch/mouse controls, and video playback.
- 19
Photo Atlas view synchronizes Grid/3D/Atlas URL state and resolves stored exact or city-level fallback coordinates for focused location exploration.
- 20
Capture timestamps and coordinate reliability feed deterministic solar-phase context used to guard motion-photo prompts.
Project status
3 status records
Core Features Implemented
13 recorded items- 01
Complete photo gallery with masonry grid layout and modal viewing.
- 02
AI-powered photo analysis with automatic title, description, and tag generation.
- 03
Advanced search with Vertex AI embeddings and Gemini 3.5 Flash-Lite re-ranking.
- 04
Love system with anonymous fingerprint-based engagement tracking.
- 05
Daily Photo Spotlight with 3-tier priority and cron orchestration.
- 06
Session-based admin authentication with durable PostgreSQL session persistence.
- 07
Location-based filtering and tag-based organization.
- 08
Enhanced upload with EXIF extraction, location/tag creation, and metadata editing.
- 09
Public filter-only and hybrid discovery paths with bounded named tag/location resolution and explicit facet inventory.
- 10
On-demand revalidation for immediate photo page updates.
- 11
Living Portfolio: AI-generated cinemagraphs for static photos.
- 12
Immersive 3D Gallery mode with cylindrical layout and focus interactions.
- 13
Photo Atlas mode with location deep links, city summaries, focused previews, and nearby-photo navigation.