Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: I made a books recommendation app based on your mood (booksbymood.com)
173 points by gaelgthomas 8 months ago | hide | past | favorite | 69 comments
Hello HN,

I noticed that I often looked for new books, depending on my mood (e.g., if I'm feeling tired, I want to find books that'll help me fix that and improve my sleep).

So, I created my 1st indie project, BooksByMood.

BooksByMood will help you find your next read based on your mood w/

- Books averaging 4.09/5 on Goodreads

- Each book comes with an explanation of why it's selected for your mood

- 18 moods to explore

I hope you'll enjoy using the website,

Cheers!




This isn't a criticism, just an observation:

I like media of all sorts that matches my mood. If I'm sad, I don't listen to music that cheers me up, I'll listen to the saddest stuff I can find. But this app's approach is really geared towards managing your mood, so it'll try to make you happy. Or if you're confused, it suggests books to improve decision-making. And if you're energized, it suggests you use that energy reading about running and getting healthy.

Again, that's not a bad thing! Just a viewpoint that's embedded in the suggestions. Those choices are explained nicely, so people can decide if that's what they want.


I appreciate your comment!

And you put the finger on something right here. As you describe, I didn't see it as: "If I'm sad, I want to listen to sad music".

When I built the app, I was really into that mindset of "How can this book help me when I'm in that mood?" (e.g., I'm feeling tired -> Suggesting "Why We Sleep" to fix your sleep and understand why sleeping is essential).

Somehow, I'm happy because what I wanted to do becomes clear when you use the website (based on what you described, which is 100% correct). But that also means I could have worked my "marketing/copies" differently to reflect that more.


If "tired" recommends books about gaining energy, why does "lonely" not recommend books about meeting people?


Because reading book wont reduce your loneliness.


Is this statement always true?

It's possible for some people to feel more alone in groups, especially large groups, than it is for them to feel lonely while reading a book. Maybe one of the main reasons fiction is so appealing to some people is because it does, on a certain level, combat loneliness - some things seem easier to talk about in fiction than in real life.


You could forget about loneliness while reading a book, however it does not change fact that you reding it alone.


sure, but loneliness and being physically alone are arguably two totally separate things.


As an idea: why not make a filter for each mood, whether you want a book for that mood, or to "fix" that mood


to riff on that: two selectors: (current mood, desired mood) -> recommendations. desired mood could be sorted by most commonly selected desired mood for the selected current mood.

(sleepy, rested) -> nsdr playlist.

(sleepy, focused) -> Tony robins talk.


Book "Why we sleep" definitely wont improve my sleeping. It make it worse because it make you anxious from thinking about what terrible happening when you are not sleeping! In this condition it's really hard to fall asleep.


It seems like it'd be easier to just simply search by mood of the book, then allow the user to figure out how they want to leverage this to manage their own mood.

Trying to guess what the user actually needs or wants seems nearly impossibly difficult.


> I'll listen to the saddest stuff I can find

This is one of the reasons I think this space is hard. You kind of want music that (step 1) first resonates with your current mood, and (step 2) then maybe takes you on a journey toward a better mood. And what journey you want depends on a bunch of factors. Am I just feeling blue, then maybe I eventually want to be cheered up. Am I mourning the recent loss of a loved one, then I'm going to be sad for the next N weeks or months, and I just want to be able to handle that in a healthy way.

step 1 and 2 together are maybe easier for books, because a story can start off sad and you can take an uplifting journey with the characters. But it's a little harder for music, because a song typically has one mood. Maybe you can find an album with an emotional arc, but I think practically you'd need to generate a playlist with songs that match at the boundary and overall create a trajectory.

But that's something you can only do when you know what the trajectory is in the first place, which is hard (as I mentioned above).


I agree wholeheartedly.

When I'm feeling down or depressed, I often want to engage in media that lets me wallow in those feelings as a cathartic sort of release. Would love some type of toggle that allows us to "match" a feeling or "improve" a mood. Sometimes we need a pick-me-up! But sometimes, I want to really sit with the discomfort of grief or loss and reading bleak books can help that resonate with me.


Hard agree. Not just mood, but environment. If it’s a gloomy day I don’t want peppy music, I want introspective jazz or sadcore or melancholy downbeat alt-country or some shit.


+1 on the managing part not working for me either. If I'm tired, I don't want to read a book on how we sleep. I want a book to fade out to and fall asleep :)


This is helpful information. My humble input to OP is: the domain is fine, but go with “find books to help manage your mood”


Alternatively, consider mixing up a few of the suggestions for folks like me who like to wallow in their misery on occasion.


Site's nice, it's a simple idea with a simple solution.

Some feedback if you want:

- You're overdoing it with the shadows. Simple flat design looks cleaner

- A little too many colors, that are not really aligned with each other. If you're not a designer, check out Tailwind colors and pick 1-2 you like that work complementary. Only use those and white/black/grey.

- For further reading on color picking, read up about the 60/30/10 rule in color design

- Since you've built your site with react, you could think about adding some simple animations (for example, when the books are switched on "next-book" button) by using Framer Motion. This is an opinionated thing from me.

Cool project, good start in the indie hacking community :) Keep doing cool stuff. If you wanna connect, find me on Twitter: @icebearlabs


> - You're overdoing it with the shadows. Simple flat design looks cleaner

I'm not a designer, but I strongly disagree with this one. Given a choice between using something flat or something with shadows, I will almost invariably lean towards the latter. The one place I might eliminate shadows for on this site is the "info" callouts on each book page; I don't think shadows communicate anything there and all other shadowed boxes on the site are clickable, while this one is not.


In this specific case the shadows do not fit the style, they make things look blurry instead of distinct.


Thanks for your message! For sure, I will! What's happening here is definitely a huge motivation for what's next. I'm already looking forward to it! :)

Your comment is gold!

I will bookmark it and refer to it for my future projects. It's good to have feedback on the design so I can improve it next time.

By any chance, do you have any design resources or books you would recommend for something getting started with that (ideally actionable)?


Some other not yet mentioned feedback: The 'Show more' button which only revealed the last half of a sentence in both choices I made basically made me ditch the site. There's absolutely no reason to do this if there's no other collapsed content on the page, and also should be avoided if its only collapsing a tiny amount of text. Each book summary has its own distinct page, so its just annoying and to me serves no purpose.


Thanks for your feedback! Initially, I thought it would be a good idea, mainly if a description were too long. But, after reading your feedback and trying again on a few pages, it's never practical.

I just pushed an update to remove the "Show more" button.


Refactoring UI is approachable and actionable https://www.refactoringui.com/


Thanks for sharing! I've bookmarked the book.


>18 moods to explore

Examining the schedule for January 3, 1992, he saw that a businesslike professional attitude was called for. "If I dial by schedule," he said warily, "will you agree to also?" He waited, canny enough not to commit himself until his wife had agreed to follow suit. "My schedule for today lists a six-hour self-accusatory depression," Iran said. "What? Why did you schedule that?" It defeated the whole purpose of the mood organ. "I didn't even know you could set it for that," he said gloomily.


Why it's everything NYT Bestseller non-fiction? I'm not a big fan of NYT Bestseller non-fiction but I find myself much better with novels matching my mood. If it's something older or classic, better.


The "enchanted" mood appears to be all fantasy fiction.


Good point here - and a lot is just left off the list if it doesn’t agree with the editors “beliefs” even if it’s really a bestseller in terms of sales.


Site is nice! And it's super fast which is awesome!

Why not link to Amazon with an affiliate link in there? Collect a few bucks :-)


Thank you! :)

If I have to be honest, I started with this project to prove to myself that I can build something, ship it, and market it (bring traffic to it). This idea crossed my mind, but I didn't do it because I didn't expect I would have had enough traffic to make it potentially worth it!!

Lesson learned for next time (or next update):

- be more ambitious

- do not doubt yourself and the internet's magic


AFAIK, Amazon will ban you because you’re not adding original content. Look at their TOS before bothering. Most likely you will waste your time. (An acquaintance of mine had a similar site.)


Or bookshop.org


yes, consider not using amazon. please consider using bookshop. see https://www.forbes.com/sites/meimeifox/2024/01/26/bookshopor...


Seconding this. OP turn the links into affiliates. Get paid for the work that you're doing, only fair.


I appreciate this but I think a mood is too fleeting for the time commitment of a book?

The site itself is very nice.


I wondered the same.

Unless my mood sparks the interest which extends into different moods. I can still be interested in why I sleep even if I am wide awake as opposed to when I am tired.

I know what that feeling feels like, as I have felt it, so I am still interested in it nonetheless


came here just to say this. How fast are you people reading? :D


Yeah, you listen to 3-4 sad songs, then a Metallica song, then you're ok. 30mins tops. A book takes 20? 40? 80? (hours).

If someone is sad for 20-40-80 hours, please go talk to a friend!


This is nice! The design is cool, the site is fast, it’s refreshing.

I only have one question: why choose 4.09 for the rating value? (I do not use Goodreads, maybe my question is irrelevant.)


Thanks a lot for your message! I really appreciate it, especially since it's my first time designing something myself like that (I know it's not perfect, but I'm happy with the V1, haha).

That may be unclear, and I may have to update the small banner on the homepage. As mentioned, it's "an average of 4.09/5 on Goodreads". The calculation works as follows: sum of all unique books rating / number of books = average.

I wanted to highlight that the website has books rated below 4/5 and above 4/5, but overall, the average rating on Goodreads is relatively high (= books recommended by the community).

Is there anything I can improve to make it more clear? :)


I'm also interested in this. I just clicked on "nostalgic", and it gave me Catcher in the Rye, which is listen on this website as being a 3.80/5, so I'm especially confused now. I then got The Great Gatsby, which has a 3.93/5.


Nice topic to build a project but there's one immediate issue I see with the implementation- The books. It attempts at trying to "facilitate" or "drive away" your current mood by recommending books. Most people can't read books because they have an attention problem. Also imagine someone who does read them, and decide to pick up a book reminiscing about the youth just because he felt nostalgic at a particular moment in their life. What's next? How's he to find the drive to actually finish what he starts? If someone's emotionally pretty turbulent, what happens if he keeps starting new books and can't finish any, leading to feel a certain dread when coming back to the reading table because of all the unfinished quotas he has. This kind of feature will go well with someone more like Blinkist or Deepstash in my opinion with overall summary and immediate conclusion available. Then if the user likes the content at a glance, that would be the fuel they need to actually complete a book after they pick it up. Still, a cool project. I do read a lot and I'd probably pick some book recommendations as well.


>Most people can't read books because they have an attention problem.

huh?


Just a suggestion — maybe do not try to change my mood. Just give me what I want. So try to take an input where I have all the tools and freedom to be able to give a textual input i.e. a query string that will bring out the books I would want to read. Some examples from my perspective: “books that share a similar ending and bleakness of Farewell to Arms”, “something non-poetic but as if it was written my Emily Dickinson”. Something like that.


I'm enjoying this. But a book is big time investment, I'd love to see short stories here.


Interesting project what kind of technology are used in the backend what api's etc


Yes, Im curious too. His Twitter account mentions Next.js and Vercel but I'm wondering if he's using an AgentAI to make the book selections etc.


Hello!

If you want to see the detailed answer, I did it in another question below. Feel free to have a look at it!

TLDR: Curations are made with AI using custom prompts and then double-checked + added manually. The main idea behind that was to ensure the quality of the curated content. IMO, for this type of project, having less choice if the curation is good is fine, rather than having something via an API with "inconsistent" data and less relevance.


Thanks for your response Mr. Thomas; and congratulations on getting your idea launched into a real thing. Also, very nice job on the speediness of the site.


Good work. For those looking for other book recommendation tool, also shared on HN, check: https://abooklike.foo/escape


Very cool! How are you doing the categorization? Eg API, scraping, manual, etc


Thanks for your message!

That's an interesting question; this was a small challenge for some reasons.

1. Since this is my first project, I wanted to ship something clean but fast (scope down to one feature).

2. I initially wanted to use some APIs. TLDR: Goodreads closed its API on December 8th, 2020. OpenLibrary was not bad, but the data required to be more consistent. Google Books API was alright, but I would have also curated manually in the end, and sometimes some info could have been better. Maybe it's a personal feeling, but it's hard to have a good books API out there (probably due to Amazon owning Goodreads and making sure it's hard for competitors to have good data as they do).

3. I knew it'd be complex to satisfy everyone with the recommendations, but I can do my best. My best is to ensure that what is recommended is included, even if it's a small amount, and that the recommendation is well rated by the community (e.g., on Goodreads).

4. Then, I realized (again) that we're in the age of AI, and I could leverage that (at least for a 1st release and see how it goes). Based on that, I tried different prompts with many criteria until I found one I liked. By doing this, I could ensure the quality of what was curated.

If it evolves in the future, this will definitely need improvement. But, for a first release, it does the trick!

I hope it answers your question!


Congrats on shipping it!

I agree, good book data is hard to find despite so many big sources out there. And Amazon API is unavailable (unless you register as an affiliate, but you need a working relevant project to get approved in the first place).

I am working on a project to scrape some regional book stores, and I am finding it really hard to find an API which can reliably give all the data needed for a book. Google Books API so far has been working okay but turns out a single book has so many ISBNs based on which region or publication its been sold and there isn't an API that provides the list of ISBNs for all its releases.

Your comment made me want to explore AI, hopefully I could find a way to use it for my project and make my life simpler.

If you have tips or pointers, highly appreciated.

Have a great day.


Very cool. Whoever happens to know any, please also suggest some good movie/tv recommendation apps. jinni.com was perfect but is defunct now, everything else I know feels worse than mediocre.


Suggestion: Let me pick two tags, and cross them. Like I want Sad SciFi, or Energetic Detective Fiction. Etc.

Enchanting is all Fantasy - but what if I want an enchanting coming of age story?


Mood is too coarse of a filter - I have a feeling in mind that I want the book to help me amplify, not an overall mood. E.g. feeling adventurous vs. "excited".


This is ace, bookmarked. One recommendation, I already wanted to buy one of the books recommended, so if had affiliate link you could have gotten a cut already.


Just tried 'lonely' and it returned Olivia Laing's The Lonely City, which I read a few years ago and loved... I'm now going to read it again.. thanks!


I love this.

Could you someday add a login system or sharing system so I can save recommended books I want to bookmark to read later.

Thank you!


Why isn’t “angry” and option?


That's a good suggestion! I tried to generate as many moods as possible for the initial version, but I may have missed some (even basic ones).

It's definitely something to add. Do you have other mood suggestions in mind?


I think, in my case, the last thing I want to do when I'm angry is read a book. If I'm angry I feel like going to the shop and buying a bottle of Japanese single malt and dive deep into the zen of getting pissed.


Neither is "horny" which I think would be an interesting option.


Not sure erotica suggestions will pair well sharing internet real-estate with books for feeling "enchanted"


or "life is meaningless" or "existential dread" etc


Hey, great idea! I was also thinking about something similar. Great job!


I pretty much knew the exact book I'd want to find when I'm "sad" and just after hitting couple of buttons...voila, I found "Man's Search for Meaning" by Viktor Frankl. An essential book to read and reread to realize all our worries can not compare to what this man went through surviving the Holocaust.

Some other books to read when being sad is, Dale Carnegie's classic "How to stop worrying and start living" and some books on stoic philosophy by Seneca.


I love it!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: