DEV Community

Aayush Raj
Aayush Raj

Posted on

πŸš€ Building ViewProof: A Photographer-Client Album Sharing Platform with React, Firebase & Cloudinary

Here’s a complete Dev.to-style blog post you can copy and paste or publish to your own blog:


πŸš€ Building ViewProof: A Photographer-Client Album Sharing Platform with React, Firebase & Cloudinary

Published on [Dev.to] by Aayush Raj


πŸ“Έ Introduction

In this solo-built project, I created ViewProof β€” a modern web app for photographers to share albums with clients, who can view, approve, and comment on photos individually. It solves a real problem in client communication and delivery β€” and gave me hands-on experience with full-stack technologies, UI/UX, and deployment.


🌟 What is ViewProof?

A tool for photographers to upload photo albums and share them securely with clients. Clients can approve/reject photos and leave comments per image.

πŸ”‘ Key Features:

  • πŸ‘€ Role-based access: Photographer & Client
  • πŸ–ΌοΈ Album upload with image previews (using Cloudinary)
  • πŸ§‘β€πŸ’Ό Clients can approve/reject photos and leave feedback
  • ✏️ Rename/Delete albums (for photographers)
  • πŸ” Access control β€” only the intended user can view the album
  • πŸ“ˆ Progress indicator (e.g., 8/10 photos approved)

βš™οΈ Tech Stack

Category Stack
Frontend React, TailwindCSS
Backend Firebase Auth & Firestore
File Hosting Cloudinary (chunk upload)
Deployment Vercel

🧠 What I Learned

This project pushed me beyond basic CRUD:

πŸ” Firebase Authentication & Role Access

  • Users register with a role (photographer or client)
  • On login, the UI adjusts based on role
  • Protected routes and album access checks ensure only the right user sees the right content

☁️ Cloudinary File Upload

  • Implemented chunked uploads for better large-file handling
  • Stored photo metadata in Firestore, while image URLs came from Cloudinary
  • Used FormData and REST API rather than an SDK for full control

🎨 UI/UX and Responsiveness

  • Built a clean, minimal interface using Tailwind
  • Prioritized mobile-friendliness (tested on various breakpoints)
  • Focused on microinteractions like loading spinners, status badges, and modals

πŸ“Έ Demo

βœ… Live Demo: https://view-proof.vercel.app

πŸ“‚ GitHub Repo: https://github.com/Aayush-2825/viewproof


πŸ§ͺ What's Next?

If I extend this project, I’d add:

  • πŸ”” Email or push notifications for new uploads
  • πŸ“₯ Zip download option for approved photos
  • πŸ’¬ Real-time chat or comment thread per album
  • 🧾 Admin dashboard for photographers

πŸ™Œ Final Words

This project helped me solidify full-stack concepts, learn real-world file management, and improve my UI/UX thinking. If you're learning React and Firebase, or just looking for a solo project to showcase on your portfolio β€” something like ViewProof is a great bet.

If you liked this, let’s connect:

πŸ‘‰ GitHub
πŸ‘‰ LinkedIn


Top comments (0)