Inspiration

After an event, everyone leaves with a different version of the same night. Photos end up scattered across camera rolls and group chats, and a photo dump rarely captures how it actually felt. We wanted to bring those perspectives together into something people could explore.

What it does

Afterglow turns a group's photos, stories, and music into a shared memory space. Create a memory, invite friends, and collect everyone's contributions. Then compose them into a spatial layout with visible gaps between cards, contributor attribution, and an ambient background influenced by nearby photos.

Memories stay private while you work on them. When ready, publish a snapshot and share a link that anyone can open. Later edits remain private until you publish again. Optional music links and available song previews add another layer to the memory.

How we built it

We built the mobile app with Expo, React Native, Expo Router, and TypeScript. A separate Hono API handles business workflows, with PostgreSQL and Prisma for persistence, Better Auth for accounts, and private S3-compatible object storage for photos.

Our composition pipeline supports OpenAI image analysis and structured outputs to suggest semantic groups and connections. Deterministic application code handles card placement and color blending. When the model is unavailable, the app falls back to clearly labeled basic grouping.

Challenges we ran into

The biggest challenge was making a spatial experience feel readable on a phone. We needed structure and breathing room without losing the feeling of exploration. Handling native photo uploads, private media access, and phone-to-backend connectivity also required careful coordination.

Another challenge was separating what AI should suggest from what the application must guarantee: AI can propose connections, while the application preserves attribution, spacing, permissions, and publication consistency.

Accomplishments that we're proud of

We connected collecting, composing, and sharing into one workflow. Friends can contribute to the same memory, photos remain in private storage, and published snapshots stay separate from ongoing drafts. We also built a reusable native design system to keep the experience consistent.

What we learned

The feeling of a memory comes from the relationships between its fragments. Giving different people room to contribute adds context that a single person's post can miss. We also learned that AI works best here as an organizing layer, with predictable application behavior underneath.

What's next for Afterglow

We want to improve shared-moment discovery, refine spatial navigation, and test the experience with groups after real events. Future directions include guided recaps, richer contributor perspectives, and optional decorative elements.

Built With

Share this project:

Updates

Submission history