
MVP Rebuild: Client Photo Gallery Platform — Next.js 15 + Cloudflare Workers/D1/R2 + Brevo
Upwork
Remoto
•3 horas atrás
•Nenhuma candidatura
Sobre
We have an existing legacy PHP app for photographers that handles client albums, photo selection, and delivery. It is outdated and partially abandoned. We need a fresh MVP rebuild focused on core flows, low ops cost, and maintainability. Scale: Low traffic year-round, with seasonal spikes to ~100–200 clients/month. Target stack: Frontend: Next.js 15 (App Router) Backend: Cloudflare Workers (APIs) + OpenNext deployment DB: Cloudflare D1 (SQLite serverless) Storage: Cloudflare Images + R2 (watermark variants, optimization, temporary storage) Email: Brevo API (transactional + webhooks) Scope (MVP Core): Auth & roles: admin/editor/client. Albums: CRUD, cover image, states (Selection / Delivery), expiration date. Upload & processing: drag-and-drop, generate watermarked variants via Cloudflare Images; originals in R2; thumbnails. Client selection: view watermarked images, select favorites, confirmation step, lock selection, countdown to deadline. Delivery: share link to download final edited images without watermark. Session types: CRUD. Used when creating albums. Email templates: per session type. Send “invite to select” and “delivery” via Brevo. Handle webhooks for delivery/bounce/open. Dashboard: basic metrics by album/session. Notifications: email notifications to staff on key events. Security & ops: signed links, expirations, minimal audit logs, error logging. Automated reminders before selection deadline. Simple e-signature on final selection confirmation. Auto-archive to colder R2 storage after expiration. Simple report by session type and conversion Selection→Delivery. Non-functional: Cost-efficient at the above scale. Clear repo structure, readable code, and basic tests by the developer. Accessibility considerations for client view. Internationalization-ready for Spanish/English UI copy files. Deliverables: Source in Git (monorepo or single repo). Deployment via Wrangler/OpenNext, environment variables, scripts. DB schema and migrations for D1. Basic CI/CD to Cloudflare. Setup/Run/Deploy documentation and a short operations runbook. One-month bug-fix warranty after go-live. Basic migration script for active albums and image re-ingest to R2. Milestones: Foundations: auth, D1 schema, session types, albums CRUD. Uploads & watermark: R2 + Images integration, album states. Client selection: selection UI, confirmation, lock, deadline. Email & webhooks: templates per session type, invites, delivery. Delivery & metrics: final download links, dashboard, polish, pilot. What to include in your proposal: Short plan and timeline for 4–5 weeks. Fixed price for MVP Core, and separate add-price for MVP+. Hourly rate and estimated hours by module. 2–3 links to similar work, especially on Cloudflare Workers/D1/R2/Images. How you’ll implement watermarking, signed URLs, expirations, and retries. Availability and communication routine. Preferences: Experience with Cloudflare platform, Next.js App Router, image pipelines, and email webhooks is required.