Inspiration
The best moments at an event are rarely captured in one place. Photos remain on different phones, stories disappear into group chats, and everyone remembers the experience differently. We created Event Capsule to bring those perspectives together in one shared digital keepsake.
What it does
Event Capsule lets organizers create a customizable memory capsule and invite guests using a QR code or six-digit code. Without creating an account, guests can contribute:
- A personal message
- A photo
- Their mood
- A hand-drawn envelope
Memories appear in real time and can be opened like digital postcards. Event Pulse uses AI-assisted analysis to transform the group’s contributions into anonymous mood trends, recurring themes, visual motifs, activity patterns, and a summary of the event’s story.
Organizers can schedule submissions, moderate memories, rotate invite codes, close or reopen capsules, and revisit previous events through a personal archive.
How we built it
We built the frontend as a responsive vanilla JavaScript single-page application. Custom CSS animations and Canvas-based drawing tools create its playful, scrapbook-inspired experience.
The backend uses Node.js, Express, MongoDB, and Mongoose. Photos and transparent envelope drawings are validated and stored using GridFS, while Server-Sent Events deliver live updates to participants.
Gemini analyzes uploaded visuals asynchronously. Its results are combined with participant-selected moods, message keywords, and media metadata to generate Event Pulse insights. A deterministic fallback ensures that contributions and basic analysis continue working when AI analysis is delayed or unavailable.
We also implemented QR-code sharing, hashed owner tokens, rate limiting, idempotent submissions, automated integration tests, an OpenAPI contract, and Vercel deployment support.
Challenges we ran into
One of our biggest challenges was making AI analysis useful without allowing it to slow down the experience. Guests expect their memories to appear immediately, so we separated submission from visual analysis and processed AI tasks asynchronously.
Handling image uploads was another challenge. We needed to validate actual image contents, enforce size limits, preserve transparent drawings, and ensure files remained available after deployment.
Real-time collaboration introduced additional complexity. New memories, moderation actions, analytics, schedule changes, and rotated invite codes all had to remain synchronized across participants.
We also spent significant time balancing a playful, hand-drawn interface with responsive design, accessibility, and clear user flows across desktop and mobile devices.
Accomplishments that we're proud of
We are especially proud that Event Capsule feels like more than a standard photo board. Every contribution becomes a personal envelope that guests can decorate, send into the capsule, and later tear open.
We built a complete experience around that idea:
- No-account QR participation
- Persistent memory and image storage
- Real-time updates
- AI-powered group insights
- Secure organizer controls
- Resilient analysis fallbacks
- A personal archive of past capsules
Most importantly, the technology supports the emotional purpose of the project instead of distracting from it.
What we learned
We learned how to design an asynchronous AI pipeline that remains valuable even when a model is unavailable. We also developed a deeper understanding of secure file handling, MongoDB aggregation, real-time browser updates, idempotent APIs, and token-based ownership.
On the product side, we learned that collecting memories should feel effortless, while revisiting them should feel special. Small interactions—drawing on an envelope, watching it enter the capsule, and opening it later—can give a digital experience a meaningful sense of ceremony.
What's next for Event Capsule
Next, we want to generate richer multimodal event stories, highlight connections between memories, and let organizers export capsules as shareable albums or recap videos.
We also plan to add collaborative moderation, additional capsule themes, audio and video memories, and notifications when a capsule is ready to revisit.
For larger events, we would move real-time messaging to a shared service such as Redis Pub/Sub and introduce scalable object storage.
Built With
- gemini-api
- html
- javascript
- mongodb
- remotion
- vercel
Log in or sign up for Devpost to join the conversation.