The problem with star ratings alone
A four-star rating tells the recommendation engine almost nothing. Did you love the prose but find the pacing tedious? Was the plot brilliant and the characters thin? A four-star average flattens all of that into one number.
Per-trait rating tags fix this. They let you mark individual book traits — plot, prose, atmosphere, dialogue, pacing, and so on — as either loved or didn’t work. The recommendation engine then has structural signal, not just an aggregate score.
What traits exist
Shellf’s tag registry has 63 traits, split between fiction and non-fiction. Every book shows a relevant subset depending on its genre, so a literary novel surfaces different traits than a thriller or a memoir would.
- Universal fiction traits (10)
- Pace, Characters, Plot/Structure, Prose/Writing, Dialogue, Atmosphere, Setting, Ending, Emotional depth, Humor. These show on every fiction title.
- Genre-contextual fiction traits (25)
- Tailored per genre. A thriller shows traits like Twists and Tension; a romance shows Chemistry and Stakes; a mystery shows Clues and Red Herrings. Five contextual traits per genre across thirteen fiction genres.
- Universal non-fiction traits (8)
- Writing quality, Structure, Depth, Accessibility, Narrator/Voice, Pace, Storytelling, Expertise/Credibility.
- Genre-contextual non-fiction traits (26)
- Tailored per genre. A memoir surfaces Voice and Reflection; a science book surfaces Rigor and Examples; a history surfaces Period detail and Sources. Three to six contextual traits per genre across fifteen non-fiction genres.
How you mark them
On a finished book’s rating screen you will see the trait tags section below the star rating. You can tag zero, all of them, or anything in between, and can always edit them later.
- •Tap a trait chip to mark it as loved (chip turns green with a heart).
- •Long-press a trait chip to open the “didn’t work” option (chip turns red with a broken heart).
- •Tap a coloured chip to undo and return it to neutral.

How the engine uses them
Per-trait reactions feed the recommendation engine alongside your star ratings. If you’ve tagged Prose as loved across ten books, the engine has a strong signal that prose-quality is a dominant factor for you, and it weights candidate books accordingly — a thriller with strong prose ranks higher than a thriller with strong plot but flat writing, even if both would otherwise look equivalent in embedding space.
The schema for this is fully built; the engine consumption layer is shipping incrementally, with the embeddings pipeline absorbing tag signal first and the LLM-reason layer second. Your tagged data is being captured as you go, so the engine has structured history to work with as the integration deepens.
Do I have to use them?
No. Per-trait tags are entirely optional. If you only ever leave star ratings, the recommendation engine still works — it just gets sharper the more trait-level reactions you log. The takeaway: you don’t need to tag every trait on every book. Tagging the books you have strong opinions about (loved/hated, not just liked) gives the engine the most useful signal per click.
Ready to try it? Install Shellf on Android. iOS launches mid-2026.
Related questions
- →How do I import my library from Goodreads?
- →Is Shellf free?
- →How much does Shellf cost?
- →Does Shellf work on iPhone?
- →Does Shellf work on Android?