Inspiration

It started with a close friend's wedding. We realized that even the best wedding photographer can only be in one place at a time, capturing a handful of angles while countless candid moments between guests go unseen. The bride, busy from start to finish, told us she wished she could see everything that happened that day through her guests' eyes. She also wanted something fun to fill the gaps between ceremony segments and keep guests engaged.

At the same time, retro film cameras and disposable-camera aesthetics were making a strong comeback. We asked: what if every guest could carry a disposable camera in their pocket, and all those photos came together into one shared roll at the end of the night?

What it does

Klick is a disposable-camera-style event photography app. The host creates a "room" for the event, and guests join with a 6-digit code. Each guest gets a limited number of film shots, no retakes allowed, captured with vintage film filters (Kodak, Ilford, Fuji, Lomo). During the event, guests can only see their own photos, just like real film waiting to be developed.

When the host triggers Reveal All, every photo in the room unlocks at the same moment. All guests get a push notification and watch a darkroom-style reveal animation as a live mosaic of everyone's shots builds tile by tile. It turns photo sharing into a collective, ceremonial highlight of the event, and the mosaic can even be projected onto the venue's big screen.

After the reveal, guests browse the full film roll and react to photos with 👍, 🤦, or 🫨. These are playful, positive reactions designed for celebratory occasions, with no dislikes and no comment moderation needed. For weddings, guests can also pick one of their own photos and send a private blessing with a personal message straight to the couple's inbox. Klick also includes Color Hunt, a team-based photo game that keeps guests mingling between event segments.

How we built it

We built Klick with React (Hooks only), Tailwind CSS, Framer Motion for animations, lucide-react for icons, and shadcn/ui for components. The core logic revolves around a single visibility rule: photos are self-visible during shooting and flip to public the moment the Reveal All event fires. Every interactive feature, from reactions to the mosaic, is gated against that one state, which kept our logic clean and conflict-free.

Private blessings live in a completely separate data model, independent of photo visibility, so they work at any time without breaking the reveal surprise. The live mosaic is computed only at reveal time rather than continuously during the event, saving device and server resources. Visually, we drew from 1970s–90s film zines and camera manuals, combining a Kodak-gold palette, grainy noise gradients, and film-slide photo frames to make the app feel like holding a real camera.

Challenges we ran into

Storing a massive volume of photos. A single wedding can generate thousands of photos within a few hours, and all of them must be ready to unlock simultaneously at reveal time. We had to design an upload and storage pipeline that handles heavy bursts without slowing down the shooting experience.

Handling poor or no connectivity. Wedding venues, banquet halls, and outdoor locations often have weak signals. We needed photos taken offline to be safely stored on the device and synced reliably once a connection returned, without losing any shots or miscounting remaining film.

Keeping real-time games stable. Games like Color Hunt depend on everyone being connected at the same time, with live team scoring. Ensuring a smooth, synchronized experience for hundreds of guests on unpredictable venue networks was one of our toughest engineering problems.

Designing the reveal moment. Making sure every guest experiences the same "ceremony," even if they open the app hours later, required rethinking the reveal as a shared event rather than a simple status change.

Accomplishments that we're proud of

We launched Klick on the App Store, and our biggest single event so far reached over 400 participants in one room. Seeing hundreds of guests watch the mosaic come together at the same moment validated our core idea. We are now in conversations with wedding studios and event planners about partnerships to bring Klick to more celebrations.

What we learned

We learned that constraints create magic: limited film, no retakes, and a delayed reveal made guests more intentional and the final reveal far more exciting than an instant shared album. We also learned that real-world events are unforgiving environments for software, since spotty Wi-Fi, crowded networks, and traffic spikes all hit at once, so resilience has to be designed in from day one. Finally, feedback from real hosts and guests taught us that small details, like removing dislikes and keeping reactions lighthearted, matter a lot in emotional settings like weddings.

What's next for Klick -- "Capture your moment, keep it forever. "

Next, we plan to develop more party games to keep guests engaged throughout events, and explore partnerships with liquor and beverage brands to create co-branded event experiences. We are expanding collaborations with more offline B2B partners such as wedding venues, studios, and event planners. Meanwhile, we will keep iterating on the product based on user feedback, refining performance, offline reliability, and the overall experience with every release.

Built With

Share this project:

Updates

Submission history