I've always used book trackers

but they all didn't fit me.

So I've decided to make my own.

Shelfr - a book tracker with challenges, achievements, community and categorizing.

This is not a reader!

Development time

March 2024 - November 2024

Roles

Me — Product Designer, Researcher

& virtually everything else

Bogdan Goncharenko — mentor

Shelfr

A book tracker of my dreams

I. Discovery phase

Competitor Analysis

The market has many apps, but only few of them are good.


From my analysis, only one app — Storygraph

— stands out without obvious issues,

making it my benchmark.

I'll be using it as a key reference.

Two other apps are usable but have tolerable issues.


Almost every app on the market have problems:

Cluttered design

Limited functionality

Outdated visuals

Poor user experience

Lags

Core features that are essential across all apps and should be included in mine:

Book tracker

Statistics

Collections / lists

Achievements

Recommendations

Storygraph app

Great app!

Search works instantly. Adding a book is very fast, by only one action. Statistics and challenges are fun. Very precise recommendations

❤️

Turn app

It takes 8+ steps just to add a book to a list

Bookshelf app

Explore tab is the same for everyone, with zero personalization

Bookmory app

Poor contrast, unclear input fields and information fields, unreadable walls of text.

Too many features, making it a Swiss-army-knife type app

Goodreads app

Outdated UI, a home page that doesn’t show your books but instead highlights friends activity

App name

Storygraph

Goodreads

Bookmory

Bookshelf

Turn

Audience, k

700

14000

700

700

500

Rating

4.5

4.3

4.8

4.8

Book tracker

Good

Mediocre

Bad

Mediocre

Bad

Recommen…

Good

Good

N/A

Bad

N/A

Statistics

Good

Bad

Good

N/A

Mediocre

Collections

N/A

Mediocre

Mediocre

Good

Bad

Community

Good

Good

N/A

Mediocre

N/A

App info

Features

Around 350 participants who consider themselves regular readers took the survey.

The majority of English-speaking audience

uses Goodreads, while the Russian-speaking audience prefers self-built trackers,

with Livelib coming in second place.

Both audiences highlighted approximately the same

  1. Tracking of Books Read

  2. Sorting into Folders

  3. Notes and Quotes

  4. Personalized Recommendations
    + Reading Statistics

  5. Reading Calendar

  6. Community

  7. Challenges and Achievements

  • Lags

  • Poor design

  • Lack of books

  • Insufficient or too many features

  1. Do you read books in any format?

  2. Do you use any services to track books you’ve read, reading time, or pages you’ve read?

  3. Please specify the trackers that you use

  4. What features in such services are the most important to you?

  5. Is there a feature of a book tracker that you need but haven’t seen anywhere yet? If so, what is this feature?

  6. Why don’t you use book trackers?

  7. Why the services that are available on the market are not suitable for you?


*The survey is non-linear.

🇬🇧 50% of English-speaking readers use book trackers

🇷🇺 25% of Russian-speaking readers use book trackers

UX Survey

Survey questions

Desired Features

Main issues with existing apps

Potential audience

Potential features

Why don’t you use

book trackers?

Is there a feature of a book tracker that you need

but haven’t seen anywhere yet? If so, what is this feature?

I’m not interested

in tracking books

I have not yet found a service

that would completely suit me

29.2%

70.8%

Four respondents participated in the interviews.

User Interview

General:

  • Aim to read daily

  • Recommend books to friends and subscribers

  • Follow recommendations from friends/trusted sources

  • Take notes and save quotes

  • Write reviews

  • Track reading indirectly (reader app / physical bookshelf)

Individual (noted by 1-2 respondents):

  • "It annoys me when book covers have spoilers or reveal important details"

  • “I enjoy writing reviews and summaries”

  • “I don’t like reading just one book at a time”

  • “I dislike having a reason to check my phone — it’s distracting”

  • “I feel indifferent about a list of books they’ve read”

Reading habits of respondents:

This information makes a community-based recommendations essential.


Interviews also revealed that a community section, review-writing feature, and reading reminders are must-haves.

Two key insights:

Respondents like

to recommend books

to others through reviews, summaries, notes

Respondents are more likely to read a book recommended by a friend or a trusted source

Statements:

"I really liked the book, so I decided to write a review — not just to share it with others, but also for my own satisfaction."

"Once in a while, I have to give a full lecture on a book or even take an exam on it, so yeah, I take notes."

"I used to take notes by writing down quotes, but I got tired of it."

"I tried writing on paper, but I can't read my own handwriting."

"I buy a book, like it, hear about it, learn something new, and add it to my queue — then I get around to reading it two years later."

"I try to ignore all reviews. If someone recommends something, I ask for the bare minimum description."

"I find books spontaneously. For example, I’m scrolling through YouTube, a video pops up about Lucius Annaeus Seneca, I keep watching, and then — bam — turns out he’s a philosopher, and I might as well read his work."

"Sometimes I come across information online, and sometimes I just stumble upon books. Like, I found Hermann Hesse’s Demian through a recommendation in Tokyo Ghoul."

"Lately, I’ve started reading historical literature."

"I always end up with a massive backlog that just keeps piling up. Either someone recommends something, or I suddenly get interested in a topic — psychology, physics, whatever — and start looking for books on it."

"If one person says, 'You should read this,' that’s enough for me. I’ll think, 'Okay, seems like a decent book.' I don’t really form my own opinion in advance — I just check the overall number of reviews. A little push is all I need to start reading."

"I read books every day in general."

"Sometimes I write in my blog. I post in my channels whenever I feel like it — not always, but I try."

"If I come across an interesting quote, I make a note of it somewhere and later post it in my blog."

"I don’t keep a list of all the books I’ve read."

"I found a philosophy book list on a university website."

"Every evening, before bed, I read for about an hour."

"My e-reader lets me highlight and save quotes, and I also share them with friends."

"I can see what I’ve read in my e-reader."

"I usually don’t read reviews — reading is a personal experience for me."

"I try to read only physical books, but I do read manga on my phone."

"I only recommend books to friends."

"In a way, I write my own reviews — I process what I’ve read in my head and try to extract the meaning that stood out to me."

"I almost never pay attention to reviews. I’m more likely to just read the summary on the back cover."

"I take notes while reading to help me remember things."

"I enjoy reading in general — I like fiction, and of course, philosophy books, since they’re directly related to my profession and way of life."

"I read in all formats, but I love physical books."

"I enjoy browsing secondhand bookstores."

"I respect both physical and digital books."

"Writing reviews is a fascinating activity — I genuinely enjoy it."

"What’s the point of saving quotes if you have no one to share them with?"

"I'm more used to paper — my eyes get less tired, and it's nicer to hold something physical in my hands."

"It's easier to remember things, and I can just share my opinion. Being heard is nice too."

"Notion is very convenient, a notebook is very convenient, and I enjoy writing with a pen."

"You come to class, and the teacher says, ‘What a tragic fate he had...’ Why did they tell me that? It ruined all the emotions I got from the book. They stole my reading experience—I hate that."

"I don’t keep a list of books I’ve read. I don’t really need it. I don’t care much about the number of books I’ve finished."

Event

Action

Emotional Attachment

Emotion, Negative Context

Prioritization

Feature

Value

Effort

Score

Search

13

8

16,25

Collections

13

8

16,25

Book tracker

20

13

15.38

Recommendations

20

20

10

Achievements

8

8

10

Statistics

8

20

4

*I need a team for a proper prioritization. So that’s a theoretical one.

Based on the research, present a potential user journey and possible touchpoints, resulting in a hypothetical Customer Journey Map (CJM) with well-thought-out scenarios.

A full life cycle of the user. From not being aware to leaving the app after a long period of using.


It covers Customer Actions, Goals and Expectations, Touchpoints, Customer Questions, Barriers, Pain Points, Positive Aspects, Emotions and Current Experience, Engagement, Influencing Agents, KPI

It’s too big to fit here.

You can check the full CJM in Miro file:

A person who reads or tries to read daily.


They love book recommendations from friends, enjoy advising others, and discussing what they've read, with specific genre preferences. They have a large queue of books to read "someday."


They dislike spoilers and can get distracted by their phone. They write reviews when they have something meaningful to say.



Age: 20-25, either a student or working.

Customer Journey Map

Goal

Content

Persona

IA is based on the data gathered through

Competitor Analysis, Survey, Interviews

and on my preferences.

Informational Architecture

This is a shortened version.

And it’s a mess, sorry.


The full version is much clearer,

includes a legend

and detailed descriptions

of each section. ↓

Legend

User Flows

Sign-up

1/15

Wireframes

Wireframes are based

on the Informational Architecture

and User Flows

They’re pretty much

detailed and usable,

only lacking UI

Main Page

Log Reading

Challenges

Library

Finished List

Finished List

Achievements

Notifications

Writing a Review

Want to Read List

Categorizing

Other’s List

Book Page

Search

User Testing

I’ve made a prototype and tested it on 4 respondents.

Respondents completed
most tasks without difficulties.

Respondents completed five guided scenarios:

Registration

and Initial Actions


Complete onboarding

Register

Add a book
to "Currently Reading"

Mark a reading entry
for the streak

Mark as "Read"

Write a review
for the book

Recommendations Based on Identified Issues:

Create a mini-onboarding
for categorizing

Make lists visually distinct
from individual books

Redesign the edit window for others' lists
to reduce mental load

Use a separate screen for selecting
challenge duration

Test the remaining flows

Develop branding and UI

Follow a User

Open search

Enter the username

Open profile
or follow directly
from search

Follow

Categorize Books
in “Want to Read”

Go to the library,
open the list

Enable categorizing

Organize books

Add tags to books

Start a Challenge

and Earn an Achievement

Select challenge difficulty and start

Read to update
the streak

Earn an achievement

Add and Edit

Another User’s List


Open search

Enter list name

Open it and add it
to personal lists

Add a book to the list

Changes Based on
Identified Issues:

Single book in the list: Got rid of the details
to make the interface lighter.

List element were too similar

with the book element making it
harder to navigate.

Pop-up that appears when user tries to edit other user’s list.


It was too overwhelming, so I’ve changed the wording.

(It’s still got a high mental load. But a little less.)

Starting a challenge.


Changed it from a pop-up

to a separate screen,

also made the hierarchy
more understandable

Categorizing “Want to read” list


Changed the wording, added a little hint on what the hell this screen is.

Added a button to cancel recent action.

This arrow is ugly on purpose.

I love this ugly arrow.

I wanted to make a simple yet good UI.


High contrast, readable type w/ good scale, distinct from competitors.


An app that is just nice to see and use.


Here’s the process from paper sketches to the final design.

II. Delivery phase

Iterations

Finished List

Book Page

Challenges Page

Stats Page

Search Page

Searching for the colors

This screen was GIANT ->

in the prototype.

I’ve cut it, but you can see

full content on the final screen.

<- In the process I came up with the number of books finished every month.
I think it’s a nice touch.

Dark theme attempt ❌


This one reminds of something I don’t want for it to remind.

Main color: Green ❌


This makes me think of plants / healthy food. Not reading.

Main color: Orange ❌


Doesn’t fit

the book theme.

Main color: Red ❌


Seems too aggressive,

doesn’t fit either.

Main color: Blue ✅


Nice one. No excess associations.
I’ll stick with it.

This part speaks for itself.

I’m really proud

of how this app

turned out.

Main Page

Track Reading

Challenges

Search

Notifications

Profile

Community

Settings

Library

Finished List

Final App Design

Writing a Review

Other’s List

Achievements

Book Page

Challenge start

Notifications

Categorizing Books

in “Want to read” list

I haven’t seen this feature

in any competing app.

But I think I need it.

It’s a slightly changed Eisenhower Matrix for sorting the books you want to read.

Put books in 4 categories
to help you decide
what to read next.

Notifications will remind you to read important books or re-categorize books from time to time.

How good is this feature?
I don't know. It needs
an actual user base to see.
But I love the idea.

Original Eisenhower Matrix

Killer Feature

Urgent

Important

Not urgent

Important

Not urgent

Not important

Urgent

Not important

Not gonna lie, it’s a big mess. But I’ve learned a lot and won’t make it this bad again.

<— main

tracker

font

size

Font - Inter

Colors

UI Kit (kind of?..)

Design System

145

Header

Text

Small & bold (?)

Names

Body

Main color

Background

White

Black

Hearts

Abandoned Books

Want to read

This is my first project.

It was made as a practice and for the portfolio.

I like how it turned out,

but there is some mistakes

and weak places.

This section is like a confession.

I’ll tell about everything I’ve learned

and show all the mistakes I found.

Post Mortem

4 respondents is not enough.

There needs to be as much respondents as possible, until you start getting repeating answers.

I’ve started making high fidelity prototypes right away. It made the process harder and took more time for nothing.

In user testing I’ve helped my respondents too much. It should be less guided to gain more insights.

Make everything in components and styles.

It would be much easier to work later.

I. Lack of Research

IV. High Fidelity

II. Too much control

III. Components & Styles!!!

That’s it!

Thank you!

table of contents