MVP v1 Scope โ Frontpics Image Marketplace
What MVP v1 Isโ
A working, deployable platform that lets photographers upload and sell real estate images to agents/buyers using a credit system, with basic admin oversight. Everything is production-ready in structure but minimal in feature scope.
Target deployment: Single VPS with Docker
Target scale at launch: ~5,000 images, ~500 users
Design ceiling: 100,000+ images/year, growing user base
Language support: In the beginning Finnish, English, Swedish. Make possible to extend lang support.
In Scope โ Phase 1 MVPโ
Buyer / Agent Portalโ
- Register and log in (email + password)
- Browse images in grid view with filters (city, tags, is_drone, price range)
- Full-text search across title, description, tags
- Preview image (watermarked medium resolution)
- View image detail page (metadata, EXIF, location, license info)
- Purchase image with credits (deducted from wallet)
- Download purchased image (signed URL, original or large variant)
- Buyer dashboard: purchase history, downloads
Photographer Portalโ
- Register and log in
- Bulk upload images (up to 50 per batch via presigned R2 URLs)
- Set metadata per image: title, description, location, tags, price, license, is_drone
- Edit and delete own images (before approval or if no purchases)
- View earnings summary (credits earned, pending payout)
- Request payout (manual review by admin in MVP)
Admin Portalโ
- View platform stats dashboard (users, images, orders, revenue)
- Manage users: list, view, suspend, change role
- Image moderation queue: review, approve, reject with a note
- View all orders and transactions
- Manage license types (CRUD)
- Manage tags (CRUD)
- View audit logs
Core Platformโ
- JWT authentication with refresh tokens
- Email verification on registration
- Password reset via email
- Role-based access control (buyer, photographer, admin)
- Credit wallet per user (balance, top-up by admin in MVP; Stripe in Phase 2)
- Image processing pipeline: extract EXIF, generate 4 variants (thumbnail, medium, large, watermarked), upload to R2
- Cloudflare R2 for storage, Cloudflare CDN for delivery
- Audit log of all sensitive actions
- Docker-based deployment with blue/green strategy on VPS
- GitHub Actions CI/CD pipeline
Out of Scope for MVP v1โ
| Feature | Target Phase |
|---|---|
| Map/geo browsing (PostGIS + MapLibre) | Phase 2 |
| Stripe payment integration for credits | Phase 2 |
| OAuth (Google login) | Phase 2 |
| Photographer analytics dashboard | Phase 2 |
| Email notifications (transactional) | Phase 2 |
| Advanced search / faceted filters | Phase 2 |
| Collections / albums | Phase 3 |
| Bulk ZIP download | Phase 3 |
| OpenSearch / Elasticsearch | Phase 3 |
| Photographer subscription tiers | Phase 3 |
| API rate limiting / abuse prevention | Phase 3 |
| Multi-language support | Phase 3 |
| Mobile app | Post-Phase 3 |
MVP Success Criteriaโ
- A photographer can create an account, upload a batch of drone images with metadata, and have them appear in the marketplace after admin approval.
- A buyer can discover an image via search, preview it watermarked, purchase it with credits, and download the original.
- An admin can review the moderation queue, approve images, manage users, and see basic platform stats.
- The system handles 100 concurrent users without degradation.
- The CI/CD pipeline automatically builds and deploys on every push to
mainwith zero-downtime switchover. - All images are served via Cloudflare CDN with no origin traffic for public assets.