Skip to content
  • Marcel Meiser's avatar
    e0e6c9c0
    Add photo memory album, 10 quality improvements, polish, and PWA · e0e6c9c0
    Marcel Meiser authored
    
    
    Features:
    - Photo memory album: upload photos to complete quests, dedicated /album page
    - Google OAuth login alongside email/password
    - Dark/light theme toggle with system preference fallback
    - PWA: manifest, service worker, installable with offline support
    - Mobile-responsive route page with Map/Quests tab switching
    
    Improvements:
    - Overpass queries use nwr (node/way/relation) for better POI coverage
    - Retry with exponential backoff on Overpass and OSRM requests
    - AI quest deduplication against curated explore data by proximity
    - Completion-aware map markers show photo thumbnails
    - Stepped loading progress during quest generation
    - 15-second cooldown on AI API calls to protect Gemini quota
    - next/image optimization for all Supabase-hosted photos
    
    Polish:
    - Error boundaries (error.tsx, global-error.tsx)
    - Loading skeletons for all routes
    - Per-page SEO metadata via layout.tsx files
    - ARIA roles/labels on dialogs, menus, and tab bar
    - Tooltip shadow fix for theme consistency
    
    Co-authored-by: default avatarCursor <cursoragent@cursor.com>
    e0e6c9c0
    Add photo memory album, 10 quality improvements, polish, and PWA
    Marcel Meiser authored
    
    
    Features:
    - Photo memory album: upload photos to complete quests, dedicated /album page
    - Google OAuth login alongside email/password
    - Dark/light theme toggle with system preference fallback
    - PWA: manifest, service worker, installable with offline support
    - Mobile-responsive route page with Map/Quests tab switching
    
    Improvements:
    - Overpass queries use nwr (node/way/relation) for better POI coverage
    - Retry with exponential backoff on Overpass and OSRM requests
    - AI quest deduplication against curated explore data by proximity
    - Completion-aware map markers show photo thumbnails
    - Stepped loading progress during quest generation
    - 15-second cooldown on AI API calls to protect Gemini quota
    - next/image optimization for all Supabase-hosted photos
    
    Polish:
    - Error boundaries (error.tsx, global-error.tsx)
    - Loading skeletons for all routes
    - Per-page SEO metadata via layout.tsx files
    - ARIA roles/labels on dialogs, menus, and tab bar
    - Tooltip shadow fix for theme consistency
    
    Co-authored-by: default avatarCursor <cursoragent@cursor.com>
Loading