Reading List with Note Taking and Stats Tracker
How to use it
We tried to make this template easy-to-use and intuitive, therefore some guidance may come handy.
The Dashboard
The first section is here for your to swiftly navigate to the book you are reading now or go to databases to change something.
▶️ Reading now and ⏩ Up next are views of the 📚 Books database with applied Stage filters: In progress and To do accordingly.
The second section displays your reading statistics and recently finished books.
Adding a new book
To create a new book, go to the 📚 Books page. There you can use any of provided views to create a new record.
By default, all new books will be having Inbox status, unless you’ve added them to specific stage in the board view.
Next stage is To do - the book(s) from the Inbox stage you plan to read next. Simply drag-and-drop a book between stages in a board view or change this property directly.
The same way you can change other stages: In progress - the book(s) you currently are reading; and Done - finished ones.
Filling up the book page
The process is straightforward:
- Find the page that contains the book's title, subtitle, author, and cover image (like this one).
- Copy the book's title and subtitle to their corresponding fields.
- Assign the book to a writer in the 🧑🎨 Authors database. If the author is new, create a new page.
- Add the total page count to calculate your progress.
- Add a cover image that will be used as a cart preview. Here is how to create aesthetic book covers for Notion, like the ones we use in this template (or go straight to a Figma generator we made)
Goal progress tracking
The only 2 field you need to fill so system could calculate your statistics and progress are:
- On page - the current page you are at
- Date - to determine whether the book has been read this year or not
This Notion reading template features yearly goals. I think it’s optimal period to set targets and measure performance, because completing a book may take up to month in some cases.
To set goals, go to 📈 Stats & goals database and edit Books goal and Pages goal properties.
Note taking
Making notes while reading non-fiction books allows you to better understand and retain the information, relate it to other knowledge you have, and easily find and reference specific points later on. It also helps to actively engage with the material and improve critical thinking skills.
I recommend writing down notes by your own words, that way you truly understand the idea. If you prefer a fast way, you may copy-paste the text in case of reading e-book, or use the OCR feature of your smartphone to copy-paste the text from a printed book.
To do it, apply the 📖 Book template for your page in 📚 Books database. This template will create sections for you to fill.
Book essences
📖 Book template features a 💭 Essences linked database to store the most valuable information from the book.
I like to write down 📝 Notes while reading the book and fill up 💭 Essences from 📝 Notes after I'm done reading it. This way, I'm able to see the most important things from all the books I've read from a single view - a much more convenient way than opening each book and reading notes.
I also like to categorize essences by type:
- 🗝️ Lifehacks - Tips and tricks that can be applied in everyday life.
- 🤔 Interesting - Ideas that require further contemplation.
- 💬 Quotes - Motivating and inspiring quotes.
- 😂 Funny - Stories that can make conversations more engaging and interesting.
- 📊 Data - Reference materials such as numbers, graphs, and statistics.
Optionally, you may save the page containing the essence so that you can come back to it later for the full context. Alternatively, you can add larger text containing this part inside the essence page itself.
What’s under the hood?
Briefly, it has 4 interconnected databases:
- 📚 Books - where the books and stats are stored
- 📈 Stats & goals - a database that consist of a single page that aggregates all the stats from the 📚 Books database
- 🧑🎨 Authors - a database of authors
- 💭 Essences - a database that contains most valuable info from a book
The main database you’ll be working with is 📚 Books: you create new pages, fill out properties and changing books’ statuses. Let’s jump into components a bit more.
Stats & goals
Let’s start with helper databases so you could have a better understanding how the template works. 📈 Stats & goals database contains only one page.
Every view of a 📚 Books database by default has enabled filter Stats contains My reading stats, meaning all new pages in 📚 Books database will be automatically linked to My reading stats page of 📈 Stats & goals database.
It’s a workaround to aggregate statistics from all pages since Notion databases doesn’t have a pivot table functionality (for now I hope).
Rollups and formulas
From the relation we have with 📚 Books we are able to rollup values from this database:
- All-time pages
- All-time books
- This year pages
- This year books
Using “This year” numbers we can calculate the progress of Books goal and Pages goal using simple formula:
if(or(empty(prop("This year pages")), empty(prop("Pages goal"))), 0, round(prop("This year pages") / prop("Pages goal") * 100) / 100)
Basically it replaces blank value with zero if any of properties are empty. After it it divides current progress on goal value and rounds it up so percentage value will always be an integer.
Visuals
Properties you see on the main properties aren’t those that are used for calculations, because last ones do not provide the context of a number.
To fix it, there are a separate fields for stats we display in the card on a dashboard. They end up with “display” (e.g. All time books to display). Those properties take the value from calculated field and merge it with text that describes it, for example:
Also, there are several Spacers blank text fields. They are used to create gaps in the card to visually divide sections.
📚 Books database
The core component of our Notion reading list is obviously books. It’s fairly simple, all you need is to fill a few properties: Title, Subtitle, Author, Categories, Total pages, On page, Date.
The only mandatory field is Title, but I recommend filling up all of them. First of all, Total pages and On page are required in order to track the progress. Secondly, authors, categories and cover images make your dashboard more pleasant, inspiring you to use it more often.
Formulas
Formulas used here are pretty basic:
- Progress - divides all pages by current pages and rounds the value, similarly to goals calculations
- This year pages/book - checks if the page/book has been done within current year. These fields are used as Rollups for 📈 Stats and goals database.
- All pages for display and Spacer - visual fields to use in the book’s card.
- Done book - counts if the book was completed depending on stage to calculate the total amount of read books.
Properties manual
Essences
Property |
Type |
Description |
---|---|---|
Page | Number | Page number where to find this content |
Book | Relation | Related page in 📚 Books DB that contains this essence. |
Type | Select | Type of information (🗝️ Lifehacks, 🤔 Interesting, 💭 Quote, 😂 Funny, 📊 Data) |
Name | Text | Essential information from a book (quote, fact, stats, etc.) |
Stats and goals
Property |
Type |
Description |
---|---|---|
Spacer (1-4) | Text | Empty text fields used to create space between properties in My reading stats card |
Books goal display (same for Pages goal, This year books/pages) | Formula | Generates a readable appearence for Books goal, Pages goal, This year books and This year pages respectively "📘 This year books goal: " + format(prop("Books goal")) |
Total books progress | Formula | Calculates the ratio between your yearly Books goal to This year books, rounds the percentage value if(or(empty(prop("This year books")), empty(prop("Books goal"))), 0, round(prop("This year books") / prop("Books goal") * 100) / 100) |
Total pages progess | Formula | Calculates the ratio between your yearly Pages goal to This year pages, rounds the percentage value if(or(empty(prop("This year pages")), empty(prop("Pages goal"))), 0, round(prop("This year pages") / prop("Pages goal") * 100) / 100) |
This year books | Rollup | Sum of This year books from 📚 Books DB. |
This year pages | Rollup | Sum of This year pages from 📚 Books DB. |
All time books | Rollup | Amount of book you’ve read, Sum of Done book from 📚 Books DB. |
All time pages | Rollup | Amount of pages you’ve read, Sum of On page from 📚 Books DB. |
Pages goal | Number | Number of pages you plan to read this year |
Books goal | Number | Number of books you plan to read this year |
Name | Text | A title that displayed on a statistics card |
Authors
Property |
Type |
Description |
---|---|---|
Books | Relation | Books by author from 📚 Books database |
Name | Text | Author’s first and last name |
Books
Property |
Type |
Description |
---|---|---|
Essences | Relation | Related 💭 Essences from the book |
Done book | Formula | Checks if book has been completed based on its Status to calculate the statistics. if(prop("Status") == "Done", 1, 0) |
Total pages | Formula | Generates a text from All pages field to display on book’s card "Total pages: " + format(prop("All pages")) |
This year pages | Formula | Checks if Date is within current year and the Status is Done to calculate the statistics. if(and(year(end(prop("Date"))) == year(now()), prop("Status") == "Done"), 1, 0) |
This year pages | Formula | Checks if the On page is within the current year from Date to calculate the statistics. if(year(end(prop("Date"))) == year(now()), prop("On page"), 0) |
Progress | Formula | The progress of a book. Checks for empty fields and rounds up percentage values. if(or(empty(prop("On page")), empty(prop("All pages"))), 0, round(prop("On page") / prop("All pages") * 100) / 100) |
Stats | Relation | Relation to a 📈 Stats and Goals database to aggregate the statistics |
Author | Relation | An author of a book from the 👨🎨 Authors database |
All pages | Number | Total amount of pages |
On page | Number | The page you are currently at |
Date | Date | Date range when you started a book and finished it. Required to calculate statistics for current year |
Categories | Multi-select | Tags for the topics for the book |
Status | Status | The stage of a book: Inbox, To do, In progress or Done |
Subtitle | Text | A book’s subtitle |
Title | Text | A book’s title |