Guest Photo Wall
Everyone at the party uploads, and the wall fills up live.
IntermediateWeb appMedia10–20hAI-buildable 5/5no setupworth shipping
A shared photo wall for an event: guests upload from their phones and the grid updates for everyone watching. Client-side image resizing before upload is what keeps it usable on venue wifi, and it's a good introduction to canvas-based image processing.
UI
Logic
Useful
Hosting · Free forever
Deploys free on GitHub Pages, Cloudflare Pages or Vercel Hobby.
Deploy it and share a link.
Core features · 7
- Join an event by link and upload photos
- Images are resized in the browser before upload
- The wall updates live as photos arrive
- A masonry grid handles mixed aspect ratios
- Clicking a photo opens a full-size lightbox with keyboard navigation
- Upload progress shows per file, with retry on failure
- A slideshow mode cycles for display on a screen
The interesting part
- Resizing images on the client without blocking the main thread
- Correcting orientation from EXIF data before resizing
- Masonry layout that doesn't reflow chaotically as photos stream in
Once it works
- Add reactions per photo
- Add a moderation queue before photos appear
- Add a download-all archive at the end
Suggested stack
reacttypescripttailwindcanvas-apisupabase