← All Work Brian Lee.

Design · Graphics/3DJan – Apr 2025

Capsule.

Memories you walk through instead of scroll: photos and messages locked until a chosen date, then opened inside a 3D gallery.

Overview

Memories, locked in 3D, revealed in time

Capsule is a time capsule you open rather than scroll through. You fill it with photos and messages, pick a date, and it stays sealed until then. When it opens, the contents do not appear as a grid — they arrive in a 3D gallery you move through.

Pitch slide: a phone showing an endless camera roll, captioned with the question does anyone's camera roll look like this
The starting point: a scroll with no end and no reason to stop. Everyone we showed it to recognised their own phone in it.

The problem

A filing cabinet nobody reopens

We started from a question everyone answers badly: when did you last look at a photo more than a year old? Phones store everything and surface almost none of it. A camera roll grows faster than anyone can read it, so the memories with the most weight end up buried deepest.

Today's memories are stored like files. We wanted them stored like stories — something with a beginning, a wait, and an opening. That reframe became the brief: how might we turn digital memories into something playful and emotional, worth reliving and worth sharing?

Moodboard of gachapon machines, capsule toys and blind boxes
Moodboard. Gachapon machines, capsule toys, blind boxes — objects whose entire appeal is not knowing yet.

Design

Designing around the moment of reveal

The answer we kept circling back to was the gachapon machine. You turn a dial, a capsule drops, and you have no idea what is inside until it cracks. The value sits in the delay, not the contents. That gave us an interaction model and a visual language at once, and it is where my part of the project started.

I designed the product around one moment — the opening — and worked backwards from it, so each phase had to earn the next.

  • Creating: a plain, form-driven flow. Deliberately quiet, so the weight sits in what you put in rather than the interface around it.
  • Waiting: the capsule exists as an object you can see and turn but not open — visible and withheld at the same time.
  • Opening: the capsule cracks and its contents spill out into the gallery.
The 3D design process: gachapon machines modelled in Blender, and a single capsule rebuilt in Spline
Modelled in Blender, left, then the hero capsule rebuilt in Spline, right, so it could be animated and dropped straight into the front end.

3D

Modelled in Blender, animated in Spline

The 3D was mine to make. I modelled the machines and capsules in Blender, then rebuilt the hero capsule in Spline so it could be animated and handed over as something the developers could embed directly rather than a spec they had to reimplement from a video.

Designing in the tool the build would actually consume changed what I could propose. The reveal animation was drawn against what the runtime could afford, instead of being thrown over a wall and quietly cut down later.

The product

The dashboard, showing a user's capsules with their names and opening dates
The dashboard: your capsules, their names, and the date each one opens. The 3D here is the Spline scene running live.
A capsule being opened, playing back its contents as a timelapse
Opening. The contents play back as a timelapse rather than landing as a grid.
Four screens showing a capsule being customised and decorated
Customising. Decorating a capsule before it seals is what makes it feel like an object rather than an upload form.

Structure

The user flow, from login through creating, contributing to and sharing a capsule
The flow. Capsules are collaborative — an invite code lets several people contribute before the thing locks.
The team stack: React, Tailwind, React Three Fiber, Node.js, MongoDB, AWS S3, Blender, Spline
What the team built it on. My Blender and Spline work fed the React Three Fiber front end; the developers owned everything behind it.

Reflection

Restraint is what makes the reveal land

The decision I would defend hardest is the quiet one. It would have been easy to make every screen as loud as the gachapon render, and the pull to do it was constant. Keeping the creation flow plain is what makes the opening land — a payoff stops reading as a payoff if everything before it is already one.

Outcome

8on the team
Blender · Spline3D I made
6 weeksconcept to MVP

Credits

  • EmmiDesign lead
  • BryanDesigner
  • NondDesigner
  • ShauryaDeveloper lead
  • LoriDeveloper
  • LukaDeveloper
  • XimingDeveloper