

Overview
AquaEdit is an iOS app that transforms murky underwater photos into vibrant, color-corrected images using AI. Upload a dive photo, and Gemini's vision model analyzes and corrects color cast, haze, backscatter, and sharpening in seconds.
The Challenge
Underwater photographers deal with a universal problem: water absorbs light unevenly, turning vivid reef scenes into blue-green murk. Professional editing tools like Lightroom require expertise and time. We wanted to see if AI could do it in one tap.
How It Works
Users upload an underwater photo from their camera roll
Gemini's vision API analyzes the image for specific underwater distortions (color cast, particulate scatter, haze)
A composition check scores the photo (threshold: 7/10). If it fails, the system auto-retries with composition constraints. Both failures trigger a credit refund.
The enhanced image is returned in seconds with before/after comparison
Credit-based model (packs of 10, 30, or 75 enhancements)


Tech Stack
Lessons Learned
- Serverless and native dependencies don't mix. Native/WASM dependencies fail silently on platforms like Vercel's edge runtime. If your AI pipeline touches binary processing, test deployment targets early.
- Third-party auth meets serverless auth. Apple Sign In generates ES256 JWTs that Supabase's gateway rejects by default. We had to deploy all edge functions with JWT verification disabled and handle auth internally. The lesson: always test your full auth chain against your serverless provider's expectations.
- Quality gating matters more than speed. Adding a composition check before enhancement (and auto-retry on failure) reduced user complaints about "bad" results dramatically. The extra API call is worth it.
Status & What's Next
Beta on TestFlight (Build 17). IAP working. Landing page live at aquaedit.com.
Public App Store submission pending final polish. PostHog analytics integration for usage patterns.
Interested in AI-powered image processing for your use case? Let's talk.
Tell us what your team is trying to build, and we'll share what we'd ship first.