Hey everyone! I built GeoImageTagger — a suite of 9 free image tools that run entirely in the browser with zero server-side image processing.
What it does
9 tools for working with image metadata, optimization, and protection:
- AI Image Geotagging — add GPS coordinates using AI detection, map pinning, or manual entry
- Metadata Viewer — inspect EXIF/IPTC/XMP data with map visualization
- EXIF Remover — strip sensitive metadata for privacy
- Metadata Editor — write copyright, credits, GPS directly into images
- AI Location Finder — AI detects where a photo was taken from visual clues
- Image Compressor — lossless/lossy compression with before/after preview
- Image Converter — convert between JPG, PNG, WebP, HEIC, TIFF
- Image Editor — crop, resize, AI background removal, social media templates
- Watermark Tool — text/logo/steganographic watermarks for images and PDFs
Tech stack
- Next.js (App Router) with
force-dynamicfor Cloud Run deployment- Supabase for auth, database, and storage
- Client-side processing — images are processed locally using
exifrandpiexifjs, never uploaded to a server- Mapbox for interactive map pinning and satellite views
- AI APIs for location detection and image description generation
- Structured data (WebApplication + FAQPage schemas) on every tool page
Privacy-first architecture
The key design decision was keeping all image processing in the browser. Users drag-and-drop their photos, metadata is read/written client-side, and the processed images are downloaded directly. No image ever touches our servers. This was important because people upload photos containing GPS coordinates, camera serial numbers, and other sensitive data.
What I learned
exifris great for reading metadata butpiexifjswas needed for writing EXIF back into images- HEIC support required client-side conversion before processing
- Batch processing with Web Workers keeps the UI responsive for large image sets
- FAQPage schema on tool pages significantly improved search appearance
Would love feedback from the community! 🙏