Inspiration

There’s a beach my best friend and I used to go to. They live in another country now, but I still go there. Sometimes I’ll remember a conversation we had. Other times, just the fact that we used to sit there together, doing nothing in particular.

I have photos of us there, but I rarely go looking for them. At the beach, I don’t need a reminder. Standing there brings it all back in a way scrolling through my phone doesn’t.

So I built In Passing. It lets you leave memories where they happened, and the only way to open them again is to physically go back.

What it does

Each place you save in In Passing has a pocket for your memories. Leave something inside, seal it, go about your life, and open it when you’re there again.

Away from the place, the pocket stays sealed. You can see where you’ve left things on the map, but you can’t browse your beach memories from the sofa. You have to go back.

Personal places hold photos, videos, audio and notes. Shared places let you invite one other person and leave photos with optional messages for each other. Each of you has to be nearby to view what’s inside.

And because your life didn’t start when you downloaded the app, you get five remote starts in total. From home, leave something at your old school or somewhere you went on holiday. It’ll stay sealed until you visit.

Designing In Passing

I liked the idea of finding something in an old pocket and remembering how it got there. That became the starting point for the interface. Paper pockets, photo prints, little notes and audio players give the memories a physical form.

I spent a lot of time on how a pocket opens and seals. The animations are deliberately unhurried. You’ve come back to a particular place to open something you left there. I wanted to give that moment a few seconds.

Elsewhere, I wanted movement to feel easy. Pockets respond as you tilt your phone. The map glides into reach and folds away again. The sky, clouds and playful type follow you through the app. Even the paywall gets an animation. Who said that part had to be boring?

Onboarding asks you to think of a place of your own, then shows you what you could leave there. I wanted people to have somewhere in mind before they reached the map.

I’m entering In Passing for the RevenueCat Design Award. If you try the app, spend a moment opening a pocket, moving between memories and bringing up the map. Those are the interactions I kept coming back to and refining.

How I built it

In Passing is built with Swift and SwiftUI. Personal media stays on the device, CloudKit handles private Shared places, and RevenueCat manages paid access through a single Lifetime purchase.

Working with location meant thinking beyond “nearby” and “too far away.” Sometimes the phone just doesn’t have a good enough reading. The app needs to explain that so you aren’t left wondering why your pocket won’t open.

Shared places brought another set of questions. What happens if a photo doesn’t finish saving, the connection drops, or someone leaves the share? I worked on keeping unfinished saves recoverable and making it clear when something had actually saved. Losing a memory would rather defeat the point.

The hardest part

Choosing the idea, by far.

I explored several directions, trying to come up with something big. I kept adding possibilities before I’d worked out why anyone would care, including me.

What I eventually chose was much more personal. A beach, a friend, and the way being somewhere can bring someone back to mind. That felt like something I could build around.

Committing to the location rule was the other hard part. Having to go back is less convenient. That’s intentional. But I still had to explain it well enough that someone would want to try it.

I learned that an idea doesn’t have to sound big for me to believe in it. Whenever I got carried away adding features, I could come back to one question. Would this make returning to that beach more meaningful?

What’s next

First, I want to see where people leave their first pocket. I know why I’d choose my beach. I’m curious what theirs will be.

Shared places currently support photos with optional messages. I’ll use feedback to decide which media types to add next.

I’d also like to explore Public places eventually. For now, there’s enough to build around a place that means something to you, and perhaps one other person.

Built With

Share this project:

Updates

Submission history