Liam Muller

BS of CS @ RIT

Remote - EST

NOTE: Above photos have blurred out information because they are from a real book club I am in. The information would be viewable in-app.

Palanaeum is a book club app for people to read and experience their favorite books together with a strong focus on spoiler protection and discussions. The main features of this app are broken down into two areas: posts and discussions.

The original idea and the namesake come from when I was reading books in Brandon Sanderson's Cosmere universe (the Palanaeum is an inverted pyramid library in one of these books). A friend of mine had already read them all and I was finding it difficult to communicate my theories in ways that he could respond without giving up a spoiler. The solution I had was to create this app where I could post my theories, and he could post his own responses in future chapters. Example: in Chapter 2 I could post something about Character A being awesome, and in Chapter 25 he could have already posted something talking about how he can't wait for me to get here and realize he was a traitor. I could now have theories and conversations with him, and he could write down responses without having to wait for me to read 20 more chapters when he would have forgotten what he originally wanted to say. It was through this that spoiler protection became a main pillar of Palanaeum.

Originally the app only had discussions. These were meant to be longer form writeups with the ability to have threaded forum-like discussion with other users. An example of this would be a discussion titled "What was happening in this chapter with ___?" and then the content would be the theory or observations that you had. Other members could then reply and you could have a conversation about that topic. Since spoiler protection is a main tenant of palanaeum, you can only create discussions for chapters that you have read - viewing and replying have the same rules.

This worked great for the bigger discussion topics, but I found that it was actively supressing my ability to interact with my club members and also would prevent me from documenting thoughts that I would have mid-chapter. The solution to this was to incorporate a more casual posting "live tweeting" aspect to the app called posts.

If discussions are Reddit threads, then posts are Tweets. Posts allow you to share quick snippets of your live reaction to parts of the book regardless of what you have read. For ease of use, the chapter that you are currently on is always pre-selected. You can sort your timeline by chapter or by date posted. These behave exactly like tweets in that you can still reply to the thread, however I still made sure that spoilers were respected: you will not be able to see the replies to your own post until you have finished that chapter - No Spoilers!

With this inclusion of posts, I was back to opening up Palanaeum every time I had a thought about where I was at in a book. I added the ability to add context to a post (if the post said "wow, THAT just happened", in the context you could include what "THAT" was for future members), and image uploads. I have loved being able to experience a book with a group and see other people's in the moment thoughts.

Example showing the difference between a post and a discussion:

NOTE: The below photos are blurred to protect you from minor Dawnshard spoilers.

This app was written with React, Remix, TypeScript, Prisma, and Postgres. Other features include:

  • Notifications
  • Book import
  • Reading trajectory graphs
  • Top Post highlighting
  • Top Discussion highlighting