Searching Your Archive

You don't remember your life by keyword. You remember who was there, roughly when it was, maybe where, and a few words of what happened. Ember's search is built around exactly that. Press ⌘K and type it the way it comes to mind.

Opening search

Press ⌘K from anywhere in Ember. Start typing and results update as you go. Use and to move through them, to open one, and Esc to close search.

One box searches everything: people, worlds, tags, stories, journal entries, interactions, notes on a person, and how you met.

"Reading this as"

As you type, Ember picks your query apart and shows how it understood it in a row of chips under the search box, labeled READING THIS AS. Type sarah tokyo last year summer ramen and you'll see something like:

ChipFrom
Personsarah → Sarah Chen
Placetokyo
Timelast year summer → Summer of last year
Topic“ramen”

Nothing is hidden: if Ember read a word the wrong way, you can see it, and you can fix it. Click the on any chip to drop that reading, and the results update straight away.

When a word could mean two things (say you have a world called College and you also met people at college), Ember shows both chips instead of guessing. Remove the one you didn't mean.

Screenshot: the READING THIS AS chip row under the search box
Your query, read back to you, one piece at a time.

Search by person

Type someone's name, or any one of their names or nicknames, and search stops being a list of files. It becomes your history with that person: the journal entries they're in, the stories you share, your interactions, your notes about them, and how you met, all in one timeline.

Add a time or a topic to narrow it down:

  • sarah: your whole history with Sarah.
  • sarah 2024: everything with Sarah in 2024, even entries that never mention the year in their text. Ember goes by each entry's date.
  • sarah wedding: only the moments with Sarah that mention a wedding.
  • mom lately: works just as well with a nickname.

If nothing matches, Ember says so plainly ("Nothing recorded with Sarah in 2019") instead of showing you something unrelated.

Search by time

Type only a time, and Ember walks you through that stretch of your life: every entry, story, and interaction from then, grouped by month. It also shows two things only Ember can tell you:

  • Who you saw most in that stretch.
  • Who you've drifted from since: people who were part of that time and are now fading.

The kinds of time Ember understands:

TypeExamples
A year2019
A seasonsummer, winter 2021, last summer, this summer
A monthmarch, august 2023, last march
A specific daymarch 5 2020, 5th march 2020, december 25
A range2019 to 2021, 2019-2021, between 2019 and 2021, march to june 2020, march 5-10 2020
A decadethe 90s, 1990s, 80s to 90s
Time ago3 years ago, a year ago, 2 months ago, two weeks ago, 5 days ago, a few years ago, a couple of years ago
Roughlyaround 2019, circa 2019, ~2019, around march 2020
Part of a periodearly 2020, mid-2020, late 2020, early 90s, late march 2021
Holidayschristmas 2019, diwali, eid, last new year's eve, christmas week, diwali month (see below)
Birthdayssarah's birthday, mom's birthday 2022
A storybefore the wedding, during the japan trip (see below)
Calendar periodstoday, yesterday, this week, last month, this year, last year
Recentrecently, lately (the last 30 days)

A few details, so the results never surprise you:

  • "Ago" means the whole period. 3 years ago is all of that calendar year (the chip reads 3 years ago (2023)), because that's what people usually mean. 2 months ago is that whole month.
  • Ranges fill in missing years. march to june 2020 is March to June 2020, and november to february 2020 runs across New Year, from November 2019.
  • A day without a year, like december 25, means the most recent one, never one in the future.
  • "Last" means the most recent one that's over. In September, last summer is the summer that just ended. In July, it's the summer before. this summer is always this year's.
  • "Around" goes one step wider than what you typed. A year gets a year either side (around 2019 is 2018 to 2020), a month or a season gets a month either side, and a day or a holiday gets a week either side.
  • Early, mid and late split a period into thirds. early 2020 is January to April, mid 2020 May to August, late 2020 September to December. For a decade: early 90s is 1990 to 1993, late 90s 1997 to 1999. For a month: the 1st to 10th, 11th to 20th, and 21st to the end.
  • "A few" is 2 to 4, "a couple" is 1 to 3. a few years ago covers the three whole years from four years back to two years back.
  • An age is not a decade. Short forms work for 60s to 90s and 00s/10s, but not after "my" or "her", so in my 60s stays as words. For the 1920s to 1950s, or the 2020s, write all four digits.
  • Seasons follow your hemisphere, so if you live in Australia, summer means December to February. Periods like last month and this week are real calendar periods, not "the last 30 days".

Several people and a time work too: sarah john 2005 walks that year, showing only the moments that included both of them.

Birthdays use the birthday saved on the person: sarah's birthday shows the moments around every one of her birthdays (the day, plus a day either side), and adding a year narrows it to that one.

Whatever you type, the time chip shows exactly how Ember read it. If it's wrong, remove it with ✕ and the words go back into the topic.

Search by what happened

Anything that isn't a person, a time, a place, or a filter is treated as the topic, and Ember searches the text of your entries, stories, and interactions for it. Topic search is deliberately forgiving:

  • Word order doesn't matter. scared of life finds "life has me scared".
  • Typos are fine. resturant still finds "restaurant".
  • Word forms match. walking finds "walked" and "walks".
  • Best matches come first. Results are ranked by how well they match, and matching words are highlighted in each preview.

People and dates, on the other hand, are matched exactly. A misspelled name won't quietly send you to the wrong person. Precise about who and when, forgiving about what.

Forgiving means typos and word forms, not synonyms. sad won't find "gloomy". Ember matches the words you actually wrote.

Holidays

Type a holiday and Ember finds the moments around it. With a year (diwali 2023) you get that one; without a year (christmas) you get every one in your archive, so you can walk through all your Christmases side by side.

KindHolidays
Fixed datesChristmas, Christmas Eve, New Year's Eve, New Year's Day, Valentine's Day, Halloween
CalculatedEaster, Good Friday, Thanksgiving (US and Canada, by your region)
IslamicEid al-Fitr, Eid al-Adha (bakrid works too), Ramadan. A bare eid means both Eids.
ChineseLunar New Year, Mid-Autumn Festival
JewishRosh Hashanah, Yom Kippur, Hanukkah, Passover
HinduDiwali, Holi, Dussehra, Ganesh Chaturthi, Raksha Bandhan, Pongal

Each holiday covers a few days, not a single date: Diwali is all five days, Hanukkah and Passover are the whole festival, Ramadan is the whole month, and most others are the day plus a day either side. That's on purpose. Some holidays are observed on different days in different places, and people often write about a celebration the next day.

Want the days around it too? Add week or month. christmas week (or week of christmas) is the calendar week Christmas falls in, and diwali month is the month Diwali falls in that year, which helps for festivals that move around the calendar. It works with or without a year, and with last, this and around: last christmas week. A holiday that is already that long stays as it is, so ramadan month is simply Ramadan.

Worked out on your Mac. Holiday dates are calculated with the calendars built into macOS: Islamic, Chinese, Hebrew and Indian. Nothing is downloaded, so holidays work offline and never send your query anywhere. Hindu festivals need macOS 26 or later, the first version with Indian calendars. On earlier versions, typing diwali still finds every entry that mentions Diwali by name.

Search relative to a story

Your stories are the landmarks of your life, so you can search around them. Type a story's title and Ember shows it as a story pill under the search box, so you know it was recognized:

You typeEmber searches
before the weddingthe 3 months before the story starts
after the weddingthe 3 months after it ends
during the japan trip, or just japan tripthe story's own dates
since the movefrom the end of the story until today

It combines with everything else: sarah before the wedding, photos during the japan trip. A short, one-word title (a story called "Home") is only recognized with before, after, during or since in front of it, so it doesn't take over every search for that word.

Photos, weather and time of day

Add any of these to a search to narrow it down. Each one appears as its own pill, so you can remove it with ✕.

FilterWordsKeeps
Attachmentsphotos, pictures, videos, songs, musicentries and stories with that kind of attachment
Weatherrainy, snowy, stormy, foggy, windy, cloudy, sunny, hot, coldjournal entries with that weather saved
Time of daymorning, afternoon, evening, late nightmoments written or logged at that time
Day of the weeksunday, weekends, weekdaysmoments on those days

For example: photos from summer 2019, rainy sundays, late night, videos with sarah. On their own, filters search your whole archive, newest first.

  • Hot and cold read the temperature saved on the entry: 28° and above is hot, 8° and below is cold (82°F and 46°F in the US).
  • Mornings are 5 to 12, afternoons 12 to 5, evenings 5 to 9, and nights 9 until 5 in the morning. Entries imported with a date but no time are left out of time-of-day searches, rather than counted as midnight.

Firsts and lasts

Add first or last time to put the oldest or the newest moment at the top: first time with sarah, last time with john, my first entry, latest photos. earliest, oldest, most recent and newest work too. last year and last summer still mean a time, not an order.

Exact phrases

Sometimes you remember one exact sentence. Put it in quotes, "you'll be fine", and Ember finds only the moments where those words appear together, in that order. Nothing in quotes is read as a person, a date, or a filter. You can combine quotes with anything else: sarah "you'll be fine".

Someone's connections

Type sarah's connections (or connected to sarah) to see everyone Sarah is linked to on your graph, with the note on each link and when it began. Links that have ended are listed after the current ones.

Places and music

Places. Entries, stories, and people with a location can be found by any level of it: the place name, city, region, country, or continent. kyoto, japan, and asia all find the same trip. Places you've used before are recognized and shown as a chip.

Music. Songs you've attached to an entry or story are searchable by title, artist, or album. Type the artist and you'll find the entries where their song is.

Looking deeper into the past

To keep search instant, the plain results list covers roughly the last two years first. At the bottom of the results, click Look deeper into the past to search your entire archive, however far back it goes.

Searching by a person, a time, a holiday, a story or a filter always covers your whole history, with no button to click. summer 2005, the 90s, christmas, photos or grandpa reach back as far as your archive does.

Private by design

Search runs entirely on your Mac. Nothing you type is sent anywhere, there's no search server, and no AI reads your entries to answer it. Ember understands your query using what it already knows about your life, like your people, your worlds, your stories and your dates, plus the calendars built into macOS, and nothing else. See Privacy & Security.

Tips

  • Add nicknames to people ("Mom", "Amma", "Grandpa Joe") so search knows every way you refer to them. See Find & Tag People.
  • Imported from Day One? Tagging people in your old entries makes name + year searches work across your whole history.
  • If a result list looks wrong, check the chips first. It's usually a word that was read as a name or a world.