Contents

Feature Planning

So basically, what I want for this is a simple way for a group of people to vote on a book on some regular cadence, and stream line the ordering of those books for the group.

My process for deciding what to work on and when is going to be pretty simple:
- Come up with as big of a set of features as I can think of
- Decide on a business model
- Whittle down the feature-set to core features
- Write a roadmap

Here’s a brain dump of features:
- Authentication w/ public providers (Google/Facebook/Outlook etc.)
- Ability to create a Club
- Ability to invite people into the club by Email
- Page to search & view books
- Add a book to your club’s cycle for everyone to vote on
- At end of voting, the book is automatically ordered for anyone who’s configured their ordering details
- Recommend books to groups based on their history versus history of other groups
- Add a markup to the books each month to donate to charity
- Group can configure % of donations to go to various charity organizations
- gamification of the club
- Hook into 3rd party viewer of book reading history // reading lists etc.
- Notifications for group actions

Potential Business Models

At a high level:
- Subscription Model
- Fee on-top of each book ordered
- One time purchase of the app

Commanding some sort of fee on-top of the book, I don’t think will ever work. People would simply go over to Amazon and order the book themselves. An one-time purchase just isn’t lucrative enough, and would hurt potential traction due to a higher barrier to entry in an already very competitive space.

A subscription model sounds great, and is obviously what I want to go with, the trick is how do we make it really appealing?
- convenience of users not having to remember to find/order their books
- attraction to having an all-in-one place to deal with the logistics of a book club
- % of subscription fees are donated to charity, commanded by the group as a whole

Something like, $X/month + cost of book would work well.

Sounds good enough for me, let’s roll with that.

Strip Down & RoadMap

With that in mind, let’s cut down the feature-set to reach an MVP. I’m going to say that for MVP we need:
- Ability to login
- Create a club
- Invite others to the club via email
- Search books
- Suggest a book into the voting cycle
- Vote on the book

Corners being cut:
- No payment processing, it’s free at this point
- No sourcing of where to buy the book for now
- No suggestions
- No charity donations yet
- No configuration of voting cycles
- No user profiles or history or any platform-related functionality

High-Level roadmap to start

  • Implement authentication
  • Choose a database
  • Begin a data schema
  • Home Page
    -> Create a club
    -> Join a club by Code
    -> See your clubs
  • Club Page
    -> See Voting cycle
    -> See open voting options & make your vote
    -> See last cycle’s book result
    -> Suggest a vook for this cycle’s vote
  • Book Search
    -> Search books
    -> Add book to your clubs vote cycle
  • Email API for sending invites & notifications

Well that’s it, I’ll just start writing the damn thing! I don’t think too hard about these sorts of things at the very start of a project, typically it’s way easier to start than it is to finish, so it’s better to just get started sometimes and see where the friction is.

Directory
$ cd content && tree