by Spencer Chang


Gather is a mobile app for collecting, sorting, and revisiting multimedia data. It works completely offline, stores all data locally, and optionally syncs to external data sources ( when there’s internet connection.

Gather arose from a personal need. I found that the gathering I did on the internet (on my computer) was almost entirely disconnected from the gathering I did in the physical world (through my phone). The groupings I paid attention to online (e.g. textured websites, personal collections, tiny internets) didn’t overlap with the ones I looked for walking around the world (e.g. moments people made me smile, orange things). I wanted something to help me meld these worlds together, connecting my internet discoveries with my physical collecting.

Gather is my attempt to connect these worlds in a form that encapsulates how I gather things that attract my attention and the rituals that nourish me around the people I love.

Who is Gather for?

Gather is for those who are curious, who seek out the hidden corners of the world the same way they seek out hidden corners of the internet. Gather is for those who care about how their attention is directed. Gather is for those who use their senses to make sense of the world, who relish making connections across different places, contexts, locations, memories. Those who connect best with each other by sharing unprompted vignettes and photos of moments that remind them of you.

Using Gather

Gather is like a general-purpose field recorder, embedded in your phone. Use it to collect important fragments of the world you discover, arrange those fragments in themed collections to attune your attention, and revisit your favorite moments.


Collecting happens most often on the go when I’m out and about in the world. Collecting is the modern-day version of the foraging our ancestors did. Collect anything you notice, anything that makes you feel. It’s a very personal act and depends on your existing sensitivities and attractions. It could be photos of the changing reflections on your commute, records of the people you notice at the cafe, logs of the moments you find yourself perfectly at peace with the world, or recordings of the birds on your morning walk.

I suggest being liberal with what you gather. Be generous to your instincts and trust them to capture what is important as you go about the world. It’s important to note that you don’t have to go through the world looking for things to collect as a tourist might seek out photos with viral potential. Rather, collecting should simply be a way to archive what your body already tells you is important. The motivation should come from within.

You can collect with Gather by opening the app and typing your thoughts, or by selecting photos from your camera roll. I already use my camera app to capture the things that catch my attention, and it’s easy to select those to add to Gather. You can also text directly to a specific collection like you would text a specific person.

Gather’s collection interface takes inspiration from our existing habits of texting and emailing ourselves things we want to remember.

These actions have a “raw” feel that mimics the action of writing, without reservation, whatever comes to mind on scratch paper by your desk. The liberal way I take pictures reflects this casual archival impulse. I try to take a picture of anything that remotely catches my eye and jot down whatever comes to mind throughout the day.

Trust yourself to know what is important to you, and don’t worry about gathering too much.


Sorting happens after you’ve collected. Whereas collecting emerges instinctually, sorting can be done intentionally at any time, and the answer (what collections the block belongs to) should be obvious from just looking at it.

Gather’s sorting interface enables you to quickly swipe through your unsorted blocks, one-at-a-time, and organize them. You can update the block’s title directly, view its details and edit its description, and connect it to any number of collections. As you connect them, you automatically proceed to the next one.

This interface is designed to be easy to use while transient and on the go, so that while waiting for an elevator or the next train, you can curate the blocks you’ve already collected.


After you’ve collected and sorted your blocks, it’s important to revisit them to sit with what you’ve collected. Gather is not intended for your traditional to-do list where items are entered once and crossed off forever. Gather is designed to cultivate archives that you care about and continually tend to, offering you resonance when you revisit them.

Gather’s revisiting screen enables you to swipe through items one-at-a-time and go deeper on the ones that resonate in the moment.

I’ve started to tackle the “scrolling itch” I’ve contracted from infinite-scroll social media with this interface. When I feel that urge, I open Gather to scroll through my cultivated content rather than opening an attention-grabbing social media app and getting lost in the algorithmic bog.

I particularly enjoy using this view to revisit longer collections I’ve curated. It always feels like a gift from my past self when I find a block I collected many months ago and had forgotten about. Sometimes it even inspires me to add recent thoughts to its housing collection.

Syncing with

Gather is offline-first, which means almost everything will work even when you have no internet connection. Whenever you connect, edit, or delete blocks connected with, records for these pending updates are saved locally. If you have an internet connection, it will try to sync those changes immediately. Otherwise, it will try to process them the next time you open the app. Every few hours when you open the app, it will also scan for new items added in to sync to Gather.

Please note that deletions (removing blocks from channels synced to Gather collections) are not currently synced to Gather. Updates to block metadata (the title and description) will take the most recent change when in conflict.

Gather x Sampler

To get started, you can import existing channels into Gather and link any Gather collection to

I’ve found that the channels that work best with Gather are ones where you want to intertwine the physical world with the digital.

Some things to try…

If you have an internet presence, I also recommend using Gather to collect moments from your daily life that you might want to show on your website. From little musings, to your daily skies, to doors you touched, to your fits of the day, etc., you can create websites to catalog your daily rituals, with a log cultivated through Gather and

Shared Channels

Shared channels are special on Gather because you get a collaborative experience in a solo-oriented app. When other people add to the channels you’ve synced to Gather, their blocks appear as a conversation in the collecting view.

Because there are no notifications on Gather, you can treat this as a quiet digital mailbox, the kind that you open up every once in a while when you pass by.

Some ideas to try…

  • Things that made me think of you: exchange pictures or songs that made you think of each other

  • Secret notes exchange: share notes of appreciation with loved one(s) throughout the day

  • A friend mailbox: an open mailbox for your friends to add to

  • A game: or two, or three

Who makes Gather?

Hi there! I’m Spencer. I’m an indie artist-engineer who makes handmade software like Gather to work towards communal computing, the kind made for people to create together and love each other, made by people who care about maintaining it.

I started making Gather because I wanted a fast, simple way to archive and curate multimedia collections. After learning to make a mobile app, it has become an expression of how I wish to interact with my data.

This kind of work is what I do for a living, so I appreciate anything you can do to support it. Thanks for reading through this guide, and I hope you enjoy Gather!

Last updated