Reading List

    Notion Reading List with Note Taking and Stats Tracker

    preview

    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.

    Image alt

    The second section displays your reading statistics and recently finished books.

    Image alt

    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.

    Image alt

    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.

    Image alt

    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:

    1. Find the page that contains the book's title, subtitle, author, and cover image (like this one).
    2. Copy the book's title and subtitle to their corresponding fields.
    3. Assign the book to a writer in the 🧑‍🎨 Authors database. If the author is new, create a new page.
    4. Add the total page count to calculate your progress.
    5. 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.

    Image alt

    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.

    Image alt
    Image alt

    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.

    Image alt

    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.

    Image alt
    Image alt

    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:

    1. All-time pages
    2. All-time books
    3. This year pages
    4. 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:

    Image alt

    Also, there are several Spacers blank text fields. They are used to create gaps in the card to visually divide sections.

    Image alt
    Image alt

    📚 Books database

    Image alt

    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

    Image alt

    Formulas used here are pretty basic:

    1. Progress - divides all pages by current pages and rounds the value, similarly to goals calculations
    2. 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.
    3. All pages for display and Spacer - visual fields to use in the book’s card.
    4. 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
    PageNumberPage number where to find this content
    BookRelationRelated page in 📚 Books DB that contains this essence.
    TypeSelectType of information (🗝️ Lifehacks, 🤔 Interesting, 💭 Quote, 😂 Funny, 📊 Data)
    NameTextEssential information from a book (quote, fact, stats, etc.)

    Stats and goals

    Property
    Type
    Description
    Spacer (1-4)TextEmpty text fields used to create space between properties in My reading stats card
    Books goal display (same for Pages goal, This year books/pages)FormulaGenerates 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 progressFormulaCalculates 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 progessFormulaCalculates 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 booksRollupSum of This year books from 📚 Books DB.
    This year pagesRollupSum of This year pages from 📚 Books DB.
    All time booksRollupAmount of book you’ve read, Sum of Done book from 📚 Books DB.
    All time pagesRollupAmount of pages you’ve read, Sum of On page from 📚 Books DB.
    Pages goalNumberNumber of pages you plan to read this year
    Books goalNumberNumber of books you plan to read this year
    NameTextA title that displayed on a statistics card

    Authors

    Property
    Type
    Description
    BooksRelationBooks by author from 📚 Books database
    NameTextAuthor’s first and last name

    Books

    Property
    Type
    Description
    EssencesRelationRelated 💭 Essences from the book
    Done bookFormulaChecks if book has been completed based on its Status to calculate the statistics.
    if(prop("Status") == "Done", 1, 0)
    Total pagesFormulaGenerates a text from All pages field to display on book’s card
    "Total pages: " + format(prop("All pages"))
    This year pagesFormulaChecks 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 pagesFormulaChecks 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)
    ProgressFormulaThe 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)
    StatsRelationRelation to a 📈 Stats and Goals database to aggregate the statistics
    AuthorRelationAn author of a book from the 👨‍🎨 Authors database
    All pagesNumberTotal amount of pages
    On pageNumberThe page you are currently at
    DateDateDate range when you started a book and finished it. Required to calculate statistics for current year
    CategoriesMulti-selectTags for the topics for the book
    StatusStatusThe stage of a book: Inbox, To do, In progress or Done
    SubtitleTextA book’s subtitle
    TitleTextA book’s title