- Your brand, front and centre. Your logo, your domain, your colours. When couples and guests open the platform, they see Avsar Photography — not someone else's product with your name squeezed in. No "Powered by" watermarks, no third-party branding competing with yours.
- Private + Public folder access control with role-based permissions across three user types (Photographer, Couple, Guest). You decide who sees what, all within a single event.
- Pay-to-unlock download gate. All photo downloads, including guest-matched photos, stay locked until you confirm payment has been received. One toggle per event, no complicated per-photo pricing.
- AI-powered selfie matching. Guests take a selfie from their phone and the platform finds every photo they appear in across the event. No manual tagging required.
- QR code onboarding at the venue. Guests scan a QR code at the event, register with a selfie, and get notified when their photos are ready. No app download needed.
- Full ownership. You own the platform and the data. No monthly subscription to a third-party service, no photo compression, no credit-based pricing. One investment, yours forever.
What this means: Instead of paying recurring fees and working within someone else's product limitations, you invest once in a platform you fully own, built specifically for how your business works.
| Module | What It Does | Complexity | Phase |
|---|---|---|---|
Auth & Roles | Three user roles: Photographer, Couple, Guest. Invite-link based onboarding (no traditional signup), OTP verification, and session management. | Medium | 1A |
Event Management | Create and manage events with details (couple name, date, venue, event type). Private and public folder creation per event. Configurable retention period. | Medium | 1A |
Upload System | Resumable uploads that recover if the browser closes mid-upload. Parallel uploading for speed. Real-time progress tracking across up to 5,000 photos per event. Metadata extraction for sorting. | Critical | 1B |
Media Processing | Automated pipeline: generates a thumbnail for grid view and a watermarked preview per photo. Originals stored untouched. Handles orientation correction and colour profile conversion so photos display correctly across all devices. | Critical | 1B |
Gallery UI | Optimised gallery that handles thousands of photos smoothly. Thumbnails load first, full preview on tap. Full-screen lightbox viewer with previous/next navigation for browsing through photos. Folder browsing. Mobile-first design (90% of guests will open on phone). | High | 1C |
Download System | Individual photo downloads via secure time-limited links. Bulk download: photos automatically packaged in the background and split into manageable chunks. Notification when ready. | Critical | 1C |
Payment Gate | Photographer toggles "paid" per event. Before payment: watermarked previews only, all downloads locked (including guest-matched photos). After payment: originals accessible, downloads unlocked. | Low | 1C |
QR Codes | Unique QR code per event that links to the event gallery or landing page. Printable format for display at the venue. | Low | 1C |
Notifications | Email notifications: "Your photos are ready," "Your download is ready," "New photos added." In-app notifications for the couple. Processing status for the photographer. | Medium | 1C |
Face Indexing | After upload and processing, all photos are analysed for faces using AWS Rekognition. One collection per event. Faces are indexed and linked to the photos they appear in. Processed automatically in the background. | High | 2 |
Selfie Matching | Guest takes a selfie using their phone camera. The platform matches it against all indexed faces and returns every photo that person appears in, with confidence scoring. | High | 2 |
Guest Portal | Two flows: (1) At the event, guest scans QR, takes selfie, enters phone number, and gets notified when photos are matched. (2) After the event, guest uses a shared link to take a selfie and find their photos. Personal gallery showing only their matched photos. | Medium | 2 |
User authentication with three roles, event management with private and public folder structure, cloud storage and CDN setup, and the application shell.
- Photographer can log in, create events, and manage folders
- Cloud infrastructure is operational
- Couple and Guest invite-link onboarding works
The engineering core of the platform. Resumable uploads handling thousands of photos, and an automated processing pipeline that generates thumbnails and watermarked previews for every photo.
- Upload up to 5,000 photos with real-time progress
- Thumbnails and watermarked previews generated automatically
- Processing status visible in photographer dashboard
- Photo orientation and colour display handled correctly
The experience your clients and their guests will interact with: a fast mobile-first gallery, bulk downloads, payment-gated access, QR codes for events, and email notifications.
- Complete flow: upload → process → view → pay → download
- Guests browse the public gallery on their phone
- Couple sees private + public folders, downloads unlock after payment
- Bulk downloads packaged in the background with notification when ready
- QR codes generated per event for venue display
AI integration that lets guests find their own photos by taking a selfie. Photos are automatically indexed for faces after upload, and guests can match against the collection using their phone camera. Pre-registration at the venue via QR, or self-service after the event.
- All event photos automatically indexed for faces
- Guest takes selfie and sees every photo they appear in
- Pre-registration flow: QR scan at venue → selfie → phone number → notified when ready
- Post-event flow: shared link → selfie → matched photos shown
- Guest-matched photo downloads also gated behind payment confirmation
Phase 1 standalone delivers a fully functional photo delivery platform. Phase 2 adds AI-powered guest discovery on top of that foundation. Development pricing and timeline discussed separately based on scope confirmation.
| Factor | Standard Business App | This Platform |
|---|---|---|
| Core pattern | Forms → Database → Lists | File handling, async processing, CDN, cloud APIs |
| Cloud services | None | 3-4 (Storage, CDN, AI, Message Queues) |
| Async processing | None | Core to 5 modules |
| File handling | None | Up to 5,000 photos per event, 100+ GB |
| Infrastructure | Single server | Storage lifecycle, CDN, queue workers, AI pipeline |
| Frontend | Forms and tables | Optimised gallery for thousands of photos, camera API, mobile-first |
| AI / ML | None | Face detection, vector indexing, similarity matching |
| Relative complexity | 1× | 3.5× – 4× |
Photo Storage
Scales with the number of events and photos. Automated lifecycle policies move older events to cheaper storage tiers over time to keep costs in check.
CDN (Content Delivery)
Handles gallery bandwidth when hundreds of guests view photos simultaneously. Keeps the experience fast and reliable.
AI Recognition (Phase 2)
Per-face indexing and search costs. Scales with the number of photos and guests using selfie matching.
Server, Database & Queue
Application server, database, caching, and background job processing. Starts lean, scales with usage.
| Layer | Technology | Why |
|---|---|---|
| Backend | Go (Golang) | High-performance language built for concurrent operations like handling thousands of uploads and background processing jobs simultaneously |
| Frontend | Next.js (React) | Fast initial page load, excellent mobile performance, and access to the React ecosystem for building the gallery experience |
| Database | PostgreSQL | Reliable relational database for events, users, photo metadata, permissions, and download tracking |
| Queue | RabbitMQ | Background job processing for thumbnails, watermarks, face indexing, bulk downloads, and notifications |
| Cache | Redis | Fast session management, gallery page caching, and rate limiting |
| Storage + CDN | AWS S3 + CloudFront | Scalable photo storage with global content delivery for fast gallery loading |
| AI (Phase 2) | AWS Rekognition | Managed face matching service, no custom machine learning infrastructure needed |
Payments
Milestone-based payments per phase. A portion held until each deliverable is demonstrated and accepted.
Communication
Weekly progress updates. Staging access provided so you can see and test progress after each milestone.
Scope Changes
Minor adjustments are included within reason. New features or significant changes are quoted separately before any work begins.
Platform Ownership
This is your platform with your branding. Full ownership of the product, hosted under your domain, presented to your clients as your own.
Post-Delivery Support
30-day bug-fix support included after delivery. Extended maintenance available on a retainer basis.
Infrastructure Setup
AWS account setup and configuration included in Phase 1A. Ongoing infrastructure bills paid by you directly to AWS.
- WhatsApp Business API — Automated messaging via WhatsApp (template approvals, notifications, per-message costs). Listed as an optional add-on that can be scoped alongside or after Phase 2.
- Native Mobile Application — The platform is built as a mobile-optimised web application. A dedicated iOS/Android app is a separate project.
- Video Handling — Video upload, storage, processing, and delivery are not included in the current scope. The platform handles photos only at this stage.
- Multi-Language Support — The platform will be in English. Localisation into other languages can be added later.