Tempo
Your personal diary and mood tracker
Install / Use
/learn @agateblue/TempoREADME
Tempo - your personal diary and mood tracker
Tempo is a diary, mood tracker and Kanban board. Its main goals are to help you:
- Keep, organize and find your writings, logs or whatever piece of text you want
- Record and understand how your mood changes and evolves over time
- Remember what needs to be done and organize accordingly

Tempo is also free to use, open source and web based. You can use it at no cost, from any compatible web browser, both on mobile and desktop, without even creating an account. The data entered in Tempo never leaves your device and isn't shared with any third-party. Finally, because Tempo is a Progressive Web App, it will continue to work on your device even without any internet connection.
On a more personal note, Tempo is by far the most personal software project I've ever worked on. Since its birth in April 2020, I have put a lot of myself in it. Among other things, it helped me overcome serious mental health issues and still supports me on a daily basis. It was built to address very specific needs (i.e, mine) and also as an experiment.
As a result, Tempo isn't meant for everyone. I don't expect it to be used by many people and this is completely fine. There are a lot of other tools available out there that will probably be a better fit for you. But if that's not the case, well, you might want to give Tempo a try.
With that in mind, let's proceed ;)
Using Tempo
To start using Tempo, simply visit https://tempo.agate.blue/.
If you're using Tempo often on mobile, you will probably want to use the "Install app" or "Add to homescreen" feature of your web browser. This will let you launch and use Tempo as you would with any other native app.
The About Page in Tempo itself should answer most the questions you have while using the app. You can also read more about Tempo's features below.
Diary

Tempo's diary should be relatively straightforward to use. Simply type your text in the text area, hit save and tada! You've recorded a new note in your diary. There is no hard limit to the size of a single note.
In addition, the diary support advanced use cases and features. All these features are enterily optional and you can use Tempo without even thinking about it, but there are in if you ever need them.
Markdown
You can use titles, bullet list, links, emphasis and other Markdown syntax inside your entries, and have them rendered properly once the note is saved. If you are not familiar with Markdown syntax, you can learn how to use it in a couple minutes.
Favorites
Entries can be favorited to be quickly found when you most need them.
Tags
Prefixing any word with a # will render it as a hashtag, like this: Played some #guitar tonight.. As hashtags can easily be clicked and searched for, this helps you organize your diary without spending too much time thinking about it
Similarly, prefixing a word with an exclamation mark, like this: Got my first !tattoo today, will tag entries as important and give you a way to quickly retrieve and browse them afterwards.
Tempo supports several other type of tags, related to its mood tracking capabilities and thus described below.
Threads
Entries in the diary can have replies, which is especially useful if you want to group them. For instance, you can use a single thread to gather everything related to an event (planning, notes, feedback, etc.)
Thread replies are regular diary entries and, as such, can be queried, favorited, contain tags, annotations, etc.
Annotations
Entries can contain annotations, beginning with a @ that let you track more structured data, such as weight, sleep duration, medication increase or decrease, hormone levels, pain levels, etc.
Here is an example note with two annotations below:
Got my blood test results:
@estradiol="114" (pg/mL)
@testosterone="22.3" (ng/dL)
This data can then be used to build graphical visualizations such as charts, tables, or even be exported for use in other tools. You can read more on annotations in the dedicated section below.
Querying and search
Tempo includes a search bar and a powerful query language you can use to quickly find entries:
- Full text search:
guitargives you entries containingguitar - Tag search:
tag:musicgives you entries tagged with#musicor!music - Date search:
date:2021gives you entries recorded in 2021date:2021-05gives you entries recorded in May 2021date:2021-05-13gives you entries recorded in May 13th, 2021
- Tag type search:
#gives you entries with any hashtag!gives you all important entries
- Other operators:
is:favoritegives you all favorited entriesis:threadgives you all first entries of a threadis:replygives you all replies threadnot:guitargives you all entries not containingguitar.not:can be used before other operators, such asnot:is:replyornot:date:2021
All these operators can be combined to further refine your search:
! date:2021-05gives you important entries recorded in May 2021music jamgives you entries that includes bothmusicandjamin their bodytag:music pianogives you entries tagged withmusicand containingpianoin their body
You can use a coma separator to express OR queries:
piano, guitargives you entries includingpianoorguitarin their bodydate:2021-01, date:2022-01gives you entries submitted in January 2021 or January 2022
Finally, if this isn't enough for you, Tempo support defining query aliases. It's not uncommon to use several variations of a word or tag inside entries. For instance, if you record your dreams, you may have some that are tagged with #dream, others with #dreams, other with #nightmares, etc. To easily find all those entries without typing all the possible variations every time, you can define a $dreams alias, corresponding to the following search query: tag:dream, tag:dreams, tag:nightmare.
You can then use the $dreams alias in place of the original, longer query.
Mood tracker
Mood tracking in Tempo is done by leveraging your diary. As a result, while it is totally possible to use Tempo as a diary without any of the mood tracking features, you'll have to use the diary at least a little bit in order to track your mood in Tempo. You don't have to worry though, it doesn't mean you have to write a lot.
Moodtags
For instance, the following diary entries contain enough information for Tempo to act as a mood tracker:
-sad
+happy
+excited
-exhausted
The + and - in front of words tells Tempo that the corresponding note is linked to your mood, in a positive or negative way, respectively. In Tempo's vocabulary, they are called moodtags.
This gives you the opportunity to include more context about how you are feeling, which tends to be very helpful when you're going trying to understand why your mood changed at a given point in time.
For instance:
I had an -exhausting day at work.
I was already tired because of -insomnia and it just got worse.
Moodtags can be repeated to convey greater intensity:
I am very +++excited about tomorrow
That was a --bad nightmare
Because mood isn't binary, you can use as many and different moodtags in the same note to express nuances:
I had a pretty decent night of +sleep and was in a good mood this morning.
However, I received a phone call that made me quite --anxious
Tempo will keep a track that this note include both positive and negative moods, but that it was predominently negative. Internally, a mood score is attached to the note, based on the number of moodtags and repetitions:
guitargets a score of 0+excitedgets a score of 1--anxiousgets a score of -2-tired but ++happygets a score of +1 (-1 + 2)
Visualization


At some point, you will probably want to use this information to actually understand what's going on with your mood. Tempo use moodtags in various places:
- In the Diary view, at the top corner of each note, a color badge showsyou the predominent mood of a note
- Similarly, in the Calendar view, entries have a color matching their predominent mood
- In the Visualization view, Tempo display several charts:
- A day to day chart, showing your mood variations, using the total mood scores of each day's entries
- A "Common tags" table, showing you the most used tags and their associated mood score
- In search queries, via the
-and+operators, to filter negative or positive entries respectively
Kanban board

The "Tasks" menu gives you access to a relatively simple Kanban Board.
You can customize the number of lists (columns) shown in the board, their name, and optionally define a few categories. Once you're done with this initial configuration (you can change the appearance of your board afterwards if needed), you can start using the board:
- Creating tasks in various columns
- Move them between columns
- Check them to mark them as done
- Filter them via the search bar, using keyword search or their category
Using Tempo on multiple devices
By default, all the data you p
