Back to projects
case study / active
img-market
Photo marketplace with two-layer watermarking and forensic buyer attribution.
stack
Next.js 15Cloudflare R2PostgreSQLRazorpay
Problem
Photography clients need a sales flow that discourages casual theft and supports buyer accountability without degrading the purchase experience.
Approach
Two watermark layers: visible deterrent at upload, invisible forensic proof at download. Signed R2 URLs expire after checkout, preventing link sharing.
Outcome
Operational for client. Two-layer protection pipeline verified end-to-end.
Key decisions
01
Visible watermark at upload time protects all previews by default.
02
LSB forensic mark is buyer-specific — provides proof without blocking usability.
03
HMAC webhook verification prevents fraudulent payment confirmations.