[HN Gopher] Show HN: My first side project, streamlined book clu...
___________________________________________________________________
Show HN: My first side project, streamlined book clubs on Slack
Author : Papamanolis
Score : 98 points
Date : 2025-02-09 13:28 UTC (1 days ago)
(HTM) web link (booktalk.club)
(TXT) w3m dump (booktalk.club)
| Papamanolis wrote:
| Hey people!
|
| After years and years of wanting to start something and build a
| product, I'm taking a jab at it!
|
| So basically, me and a few of my coworkers wanted to create a
| virtual book club since we are all working remotely and decided
| why not automate it.
|
| I've been working on booktalk, a Slack app that makes book clubs
| easier to run. For now it will allow the team to get details and
| suggestions about books, vote on books that they want to read,
| set a timeframe for their reading cycle, and when the cycle ends,
| it reaches out with a few relevant questions about the book!
|
| Has any of you organized or participated in a virtual book club
| before? What was your experience, any challenges that you faced
| or features that were missing?
|
| Fire away!
|
| PS: Let me know if you have any feedback about the website too,
| it was my first time creating a landing page!
| gostsamo wrote:
| Funnily enough, recently we started a bookclub in our office
| and we are using slack. Not sure if we need the app, but we
| might try it.
|
| The biggest challenge for me is to accept when the team chooses
| an obviously bad book, but they will learn with experience. A
| feature about book details sounds good but depends on the
| source and if it is marketing or a good critical one. Finding
| the book in print would be a nice feature which is easy for
| english and big countries, but might be hard otherwise.
|
| Edit: maybe consider a feature for setups where people rotate
| to choose the book if there is not one yet.
| agscala wrote:
| Maybe it would be valuable to have an anonymous "onboarding"
| experience where people choose the genres they like or
| dislike, and then the people choosing the book can be
| informed a summary of the groups preferences.
|
| Also an anonymous thumbs up/down after the book is read could
| help the group choose a better next book
| Papamanolis wrote:
| Such a cool idea! I'm definitely going to explore this
| feature for the upcoming release.
| gostsamo wrote:
| This is a book club. People know each other and their
| preferences. Also, it would be rather clear if people
| liked the book or not. Those are functions better left to
| the conversation or at least, no sense in making them
| anonymous.
|
| For online discussions, it might be convenient to have a
| shared board with questions about the book, maybe
| scoreboard to rate by aspects and do a final grate, but
| those are fancies, not essential for facilitating the
| discussion.
| em-bee wrote:
| if the team chose a bad book, i can't have been obviously bad
| unless you pick books at random or without even reading
| anything about them before selecting. it also depends on how
| much people read. in our group most members are well read and
| a good part of the nominations are books that at least one
| person has read already. people nominate books they read
| before and liked or have heard good things about. other
| sources are awards or nominations for awards the authors
| received, or articles like the best 10 books in this genre,
| etc...
| gostsamo wrote:
| Regarding the bad book choice, people must've read only the
| marketing and the amateur reviews in goodreads. The author
| is relatively famous but the book is a disappointment.
| digdugdirk wrote:
| The biggest feature that I'd love to see with a virtual book
| club would be a way to "unlock" discussions based on how far
| the into the book you are. The goal would be to make things
| asynchronous (so you could read at your own pace) without
| getting hit with spoilers.
| fm2606 wrote:
| That is a good idea.
| Ntrails wrote:
| > The goal would be to make things asynchronous (so you could
| read at your own pace) without getting hit with spoilers.
|
| I don't, personally, think that works super well?
|
| I don't want to join in at the tail of a thorough discussion
| and add my 2 cents to people who have moved on.
|
| I also wouldn't want to keep getting dragged back to prior
| threads on bits I won't remember as well (most specifically
| where the spoilers start).
|
| So, I could well be wrong, but it sounds awkward to _me_
| em-bee wrote:
| we have this problem in our book club and in tv series
| discussions all the time, and it really isn't a problem.
| everyone shares their thoughts to the things they are
| reading/watching and people give their feedback. some
| people avoid spoilers until they are caught up and add
| their thoughts then. some people are behind and talk about
| things we already discussed days ago. i even once discussed
| a tv series season one while everyone else was already
| watching season two. we didn't get intodeep discussions but
| people were answering my questions without spoiling things
| for me. certain movies are being discussed over and over
| again every few months or years. if you have a group that
| communicates well with each other, none of this matters.
| the worst thing that can happen is that latecomers get less
| engagement. but it really depends on the detail or the
| mood.
|
| a system that allows marking of spoilers with the
| chapter/episode/part etc, and hide the ones that are
| further along than me would be nice. practically speaking
| though it would be enough if everyone could tag their
| messages with the chapter/part they are talking about and
| then the reader can choose to unhide based on that
| information.
|
| the hard part with any such system is to get the
| participants to develop the discipline to actually recall
| the chapter and mark the comment. "somewhere in the book
| the gardener removed a sticky substance from his shears,
| but i forgot which chapter that was."
| em-bee wrote:
| i am in an active bookclub that uses a chat group. we collect
| nominations, vote on the selection, and after about a month we
| have an online meeting to discuss the book. for that we first
| vote on which day we want to meet, and then on the time for the
| meeting on the selected day. so three votes for each book, two
| of which are the same kind of vote every time. occasionally we
| also use a vote to find out if people need more time or if
| everyone is done.
|
| we use wechat for that because most of us are in china, and no
| other chat platform works for everyone. wechat has mini apps
| that we can use for voting, but collecting the nominations and
| setting up the votes each time is a manual and sometimes
| tedious process. once we used an external voting app, but there
| the problem was the lack of integration with the wechat users.
| we could not tell who already voted, and more importantly
| people could not tell for themselves if their vote was counted
| or not.
|
| better integration would be nice. getting everyone off wechat
| into slack is probably going to be the biggest challenge
| though. i don't even know if slack works for everyone in china.
| vcool07 wrote:
| My feedback would be to not restrict to books. You would get
| more traction with movies / web/tv series or even video games.
| WorldMaker wrote:
| > Has any of you organized or participated in a virtual book
| club before? What was your experience, any challenges that you
| faced or features that were missing?
|
| It's funny, but my "winter hobby project", between myself and
| my junior developers GitHub Copilot and whiskey, has been
| trying in the nerdiest way possible to convince my Book Club to
| switch from a Ranked Choice voting that was still a bit too
| much first-past-the-post (but easy to model in a Google Sheet)
| to trying the Schulze method [1], which is fascinatingly more
| robust and which provides some niceties like "vote on
| everything as 1-5 [stars/hearts/dolphins/what have you]"
| (encouraging lots of ties to get the most interesting "beatpath
| winners") with the ability to save those ranks between voting
| rounds because the ranks are personal and not "points". As a
| voting method, it also gives us a bit more flexibility to
| "predict"/plan for more than one winner at a time (many of our
| members use public libraries with long lead times to borrow
| books, so we like to plan two or three books ahead). But also
| as a voting method that encourages ties, it still allows for
| surprises/serendipity and changing minds/shifting winds.
|
| Ever since ModernBallots [2] shut down (RIP) it's been
| increasingly harder to convince people to try the Schulze
| method for voting. For one thing the Wikipedia rabbit hole is
| full of way too much complexity of the intricacies of voting
| methods in general and the math looks way harder than it is.
| While I wouldn't want to do the math by hand, it's a really
| simple algorithm from a computer science standpoint: convert
| one user's ballot's ranks into an adjacency matrix representing
| which item (book) beats with other item (book) [1 for edge, 0
| for no edge], add adjacency matrixes together (you get an
| adjacency matrix where the edge weights are number of ballots),
| then run a simply modified Floyd-Warshall on the matrix to find
| the widest paths (ranking the items by most widest paths to
| fewest). Floyd-Warshall is a classic, simple "textbook" digraph
| algorithm. So much so that GitHub Copilot knows it quite well.
| (I recall it came up three or four times in my own college
| experiences.)
|
| While I've been working on this, so far I've been intentionally
| specializing it for this _particular_ book club. I 'm trying to
| keep it fun for myself and worrying about generalizing it into
| a product (such as a potential replacement for ModernBallots)
| has intentionally been something I've tried to avoid to keep
| from burning out on it. (Kudos to you on doing it and shipping
| a first version of it.)
|
| I have been building it in the open, for a variety of reasons:
| https://github.com/WorldMaker/jocobookclub/
|
| I think it's a cool codebase. The main site is SSG (to GitHub
| Pages), progressively enhanced with web components and some
| HTML templates for those web components. The API site is sent
| to Deno Deploy, using Deno KV as the database, and using Deno
| Queues for the vote calculation work which is probably overkill
| for the club's current scale but the engineering effort behind
| it felt like a good idea and makes me happy. The slowest
| loading things right now on the site are the Font Awesome icons
| in use to keep it fun/visually interesting, and as the number
| of icons in use stabilizes I expect to more cleanly subset it
| and drop that into the SSG build as well.
|
| You can even browse the public (static) parts of the site:
| https://worldmaker.net/jocobookclub/
|
| You won't see the actual voting tools light up, though without
| logging in, and for hopefully obvious reasons (small, private
| club) the registration links are restricted to invite-only.
| Maybe I should take a screenshot of them at least, to include
| in the README, but so far I haven't thought much about the
| public facing aspects of the codebase like that as it is still
| mostly for the benefit of myself and the club members.
|
| In general, we probably don't talk about voting methods enough
| and first-past-the-post is too easy a default and too
| accidental a fallback even when you think you are doing
| something smarter like a Ranked Choice ballot. Sometimes the
| more complicated you try to make those rules, the less
| effective they are in reality. It's been one of my nerdier
| obsessions for a long time. I used to use ModernBallots a lot
| to try to convince people to stop using SurveyMonkey or Google
| Sheets and simple counts for something a little smarter and a
| lot wilder that finds answers that everyone collectively don't
| always realize they all mostly agree on/with.
|
| [1] https://en.wikipedia.org/wiki/Schulze_method
|
| [1] https://modernballots.com
| dewey wrote:
| Some landing page feedback: As Slack is mostly used in a
| corporate context the first thing people will look at when they
| add an app to their workspace would be the privacy policy and to
| see if it's trustworthy. Would maybe be worth it to expand on
| that a bit?
| Papamanolis wrote:
| That's a great point! Privacy is really important to me as
| well, and I'm strongly against collecting anything beyond
| what's necessary for the app to function. I'll work on adding a
| dedicated section to clarify this as soon as possible. Really
| appreciate you taking the time to share your feedback!
| sudodan wrote:
| Edit
| ericholscher wrote:
| Love this idea! We wrote up a post about the book club we were
| running at our small company, and it was great for expanding
| people's interest and understanding of different topics:
| https://www.ethicalads.io/blog/2022/05/running-a-company-boo...
|
| Picking a book was often the hardest part though, so this tool
| having recommendations and voting seems like a really nice
| solution.
| Papamanolis wrote:
| Hi, and thanks for the feedback! One of my top priorities right
| now is learning as much as possible about online book club
| experiences from others, so I really appreciate you sharing the
| blog post!
|
| Interesting to hear. Personally, finding a book was usually the
| easiest part (probably because we have dozens waiting on our
| 'to-read' lists). I'll do my best to make the book
| recommendation experience as smooth as possible.
| ericholscher wrote:
| Yea we all have a lot of books to read, but trying to figure
| out how the group wants to learn something and discuss is
| hard. Especially when the goal is having some business
| benefit, not just reading for fun.
|
| There's a lot of "paper reading" clubs which might also be
| interesting to look in to.
| Papamanolis wrote:
| That's a really interesting angle, I've never thought about
| paper reading clubs before. They seem much more fast-paced
| and could probably benefit from a shared notes side
| feature! Thank you for the food for thought!
| gmargaritis wrote:
| I've been a part of various book clubs in the past, mostly in
| person and few on Discord. One thing that really turned me off in
| virtual ones was how people would post while reading, sometimes
| creating small spoilers for others. I always wished for a way to
| mark spoilers to avoid ruining surprises. Is this something you'd
| consider adding?
| Papamanolis wrote:
| Thanks a bunch for the suggestion! I've run into the same issue
| in online book clubs, so it's something that I'll definitely
| add in the upcoming version!
| em-bee wrote:
| we solved that problem by having two groups or rooms. the main
| group where we nominate books and manage the whole process as
| well as general chat, and one group for spoilers.
|
| especially on discord grouping rooms into categories is easy.
| if you don't have a whole server for the bookclub because it is
| part of something larger you could still have a category and in
| there multiple groups. even a spoiler group per book if needed.
| WorldMaker wrote:
| There's also some effective ways to use Threads for this if
| you are confined to one channel, especially on Discord where
| Threads hang tied to their channel and get useful names where
| the names can be things like books.
|
| On Discord you can also experiment with making your "one
| channel" a Discussion Forum channel instead and then
| everything is discoverable threads. Some of the busier
| Discords that will only give you "one channel" for your group
| will often be amenable to letting that one channel be a Forum
| channel.
| angoragoats wrote:
| Why would you build this on a platform that 1) is mostly used for
| business communication and 2) requires a monthly per-user payment
| if you want to see content older than 90 days? Why not make it a
| standalone tool? Then you could always offer an optional Slack
| integration for those who wish to use it at work.
| Papamanolis wrote:
| Good point! I know there are a lot of book club communities on
| Discord and other platforms, but we were already using Slack
| and didn't want to migrate to another platform just for the
| book club. It just felt like the easiest way to get started.
| layer8 wrote:
| Regarding #2, this book club service will presumably become a
| paid service anyway, so it's only a matter of how much you need
| to pay.
| angoragoats wrote:
| It doesn't make a lot of sense to me to compare paying an
| indie hacker for a service that you actually find valuable to
| paying Salesforce for a text communication tool.
| maroonblazer wrote:
| Looking at the first few questions from the survey, this seems
| geared specifically to work-oriented book clubs. I.e., book clubs
| in a professional context. FWIW, I was hoping for/expecting one
| that was free of those associations. It might be worth spelling
| that out more explicitly on the landing page.
| Papamanolis wrote:
| Thank you for the feedback! The app isn't specifically centered
| around work-related book clubs, and it can be used in any Slack
| workspace. It's just that Slack is often thought of as a work
| tool, so that association tends to stick. I'll make sure to
| clarify this on the landing page!
| bmelton wrote:
| Not surprising that Lighthouse didn't catch it, but the white
| text on the peachish background lacks contrast for accessibility
| and would be quite hard to read for the visually impaired / older
| audiences.
|
| (If that's something you're concerned with)
| Tempest1981 wrote:
| Agreed, the white text is very low contrast against the plasma
| background. Did you intend dark text?
| Papamanolis wrote:
| Great point! I've just updated it. Thanks for the feedback.
| bmelton wrote:
| MUCH improved!
| Tempest1981 wrote:
| Agreed. Although this line (only) is still white for me:
|
| "Get the discussion going with a few curated questions"
| 4b11b4 wrote:
| Why slack.. cuz it has huddles integrated?
|
| Just build on Zed at that point.
| leetrout wrote:
| I built the bones of the same thing! :)
|
| Curious what stacks and tools you are using. I went with Bolt on
| AWS Lambda.
| dyeje wrote:
| Congrats on shipping. Curious, why Slack? Is this intended for
| book clubs at companies specifically?
| treylayton wrote:
| landing page is super aesthetically pleasing. for my last
| project, i built v1 as a discord bot, and my conversion rate from
| "yes i'll try it" to sign ups was abysmal. kept asking and
| finally realized it was because people didn't want to use discord
| or slack or some third-party service to access the tool. others
| have touched on it, but if you want to expand beyond corporate
| book clubs, would probably recommend building it out as a
| standalone service, or maybe into imessage or whatsapp?
| catinblack wrote:
| I can't submit the form. I have "something went wrong" error
| Papamanolis wrote:
| Sorry about that! The site was hugged to death, you can retry
| now!
| ignaciodiaz wrote:
| The landing page looks great. What did you use for the
| animations?
| Papamanolis wrote:
| Thank you so much! I built the website using Framer. For the
| animations I used https://particles.page/ but as i see now the
| component is no longer available.
| kojeovo wrote:
| is discussion history retained? or is it wiped cuz of free slack
| tier?
| the__alchemist wrote:
| Jira integration next! This sounds great for leadership and team-
| building literature.
| _virtu wrote:
| I'm currently building something like this. It comes at the
| problem from a different angle though. The app uses the book to
| aid discussions for the current reading sections.
|
| Fun to see this idea is getting a little traction.
| aboardRat4 wrote:
| Depending on Slack is, well...
|
| What about based on Jabber/XMPP, or even better, pure email?
| werrett wrote:
| Jabber/Xmpp? Is that a joke? Not to be rude, but surely the
| 'club' bit is the key part of a 'book club.'
|
| Most companies with more than a handful of people have, or
| would be interested in having, a book clubs. In tech forward
| shops they are more than likely using Slack.
|
| I could imagine targeting some chat apps for a non-work
| audience, but the age of people having listservs and using
| email for multi-person back and forth is long gone.
___________________________________________________________________
(page generated 2025-02-10 23:02 UTC)