At every wedding, birthday, or corporate gathering, guests are taking pictures. The problem is that those photos end up scattered across devices and apps, making it hard for organizers to collect and share them.
That’s the problem we set out to solve with Fotify.
The Idea
Fotify is a real-time photo-sharing and RSVP platform that makes events more interactive:
Guests scan a QR code to upload photos instantly.
Hosts can display live galleries on screens during the event.
Digital invitations, RSVPs, and even multi-day itineraries are managed in the same platform.
No app downloads. No accounts for guests. Just instant memories, accessible to everyone.
The Tech Stack
Here’s how we’re building Fotify under the hood:
Frontend: Next.js
running on a Hetzner VPS.
Backend: NestJS
deployed on another Hetzner VPS.
Database: PostgreSQL, self-hosted for full control and performance.
Authentication: Google OAuth, already integrated with Passport.js.
Storage & Media: Planning Cloudflare R2 (for raw photos) and Cloudflare Images (for transformations & delivery).
Analytics: Umami
for privacy-friendly event tracking.
AI Layer: Intelligent moderation & filtering to keep galleries clean and safe.
This setup gives us full control, performance, and scalability, without locking ourselves into expensive managed services.
Lessons Learned
Hetzner is underrated. With good setup (Docker + Traefik + backups), it’s cheap, fast, and reliable.
Next.js + NestJS is a perfect combo. The separation of concerns keeps development clean and scaling easier.
Postgres beats MySQL for flexibility. Especially with JSON fields for handling dynamic event data.
Start with authentication early. Google OAuth via Passport.js made onboarding smoother for organizers.
Try It Out
If you’re a developer, photographer, or event organizer, I’d love your feedback.
👉 Check out Fotify at https://fotify.app
Top comments (0)