Everyday I do some sql queries on the data I’ve been collecting and I find the thought interesting that all apps are are ways to do sql queries.
Any app that is an information product is in it’s simplest form a glorified sql query generation app. It’s an app that simply separates the user from sql queries.
Client work and prepping for travelling back to Medellin got in the way of getting undistracted time to focus on bookuary. I’m also new to vuejs so that slows me down a bit more than I’d like to go. I do find though that in many ways the choice of not using php which I’m comfortable with forces me to not cut too many corners.
I’m also trying out notion as my personal knowledge management application going forward. So all my notes and ideas are going there in addition to random stuff I add to my DayOne journals. Next step to to set up some sort of backup system for it.
How do others fight scope creep?
I keep finding complexity and new stuff creeping in. I realized that I’m putting so much emphasis on allowing users to add different versions of the same book. While that sounds easy I can see the database getting messy real fast. So at launch it will be one version per book. I’ll revisit this feature in the future if enough people request it. Besides, it’s not the core value proposition of the app
Had to break for a few days to catch up on some client work. One great thing about bots is they working even when you’re not so now the number of book/reading recommendations are up to 7.13 Million!! 😀
I’ve decided on the front end of the site. I’m gonna use vue.js. I’ll use webpack so I don’t have to do everything from scratch.
I started with the idea roughly three weeks ago. I started prelim planning of the application under the name bookhead.co. Two weeks in I discovered bookfilia.com was available so I bought that because a .com is supposed to be better than a .co
Well yesterday I got bookuary.com. I was thinking if there was a month dedicated to books what would it be called. First I thought booktober but that’s already taken so I went with bookuary.com which ends like January.
I posted the three names to indiehackers to solicit feedback. Thanks to the community I’ve settled on bookuary. Hence from here forward I’m building bookuary, a book focused social network.
Now that I have the domain up I will post updates here instead of my day one journal that I have been using. When I get the time to I’ll also transfer some of those journal entries here so you can see the historical progress as well.
So since I set up the first set of crawlers they’ve so far gathered more than 3 million references to books or stuff to read from over 16 thousand people.
That is absolutely insane. I didn’t expect that number in that short a time. Seems people really enjoy talking about what they read.
Next steps is to improve the NLP scripts so the recommendations can be matched to their respective books.
I got the workers up and running!! I got a free tier ec2 instance hosting a bunch of node scripts. They’re my little robots that do a bunch of data gathering that I would normally do manually for myself. Each script doing a super specific task. That way if a script fails the other parts of the data I need continues to be pulled until I fix it.
The current set up is a small db on Amazon RDS which I’ll call my production-db and and ec2 instance which will be used solely for altering and adding to the database. This includes updating rankings, pulling new info and the like. This is called production-worker instance. Later I’ll add a third instance where web accessible stuff will live. That will be solely responsible for serving up the front end of the site to the user.
Reading up on NLP
There’s no way I could possibly do what I do for others if I were to continue manually process recommendations from different sources. So I’ll be using a bit of NLP to help find recommendations and match those recommendations to books in the database.
After a small bit of research I decided to go with Amazon RDS for mysql hosting. RDS because it’s easy to set up and maintain and mysql because I have experience working with mysql more than I have with any other database. Once I read a few aws docs I was able to get the db up and running pretty quickly.
I’ll stick to AWS for the hosting as well. Again I’m sticking to what I have the most experience. I’ll have separate ec2 instances for worker scripts, crawlers and web traffic
Backend and Front-end
I love node for workers and crawlers. I’m undecided on what I’ll use for the web server. I work mostly with php so I might go that route but for now I will focus on backend.
Google books or Amazon seem like a good places to start for book information. I’ll take a look at what the goodreads API offers again. I’ve looked at it in the past and it was not the best to say the least.
Twitter api is good for finding followers and linking them to their profiles on bookfilia
RDS is the first set of expense for the app. I think I should start a running costs post to detail each months costs. I’ll add that to my list of todos
So I got a new domain. Bookfilia.com. I had bought the domain bookhead.co before but bookfilia sounds better I think. It might also be a better idea to have a .com than a .co
I’m realizing there’s some scope creep happening as I develop the ideas behind how bookfilia will work and how it will look. I started sketching a few potential screens and I think that’s making the task seem a bit scarier than it should be so I’m gonna try and reduce the launch features to what I think are the most essential for it to provide some amount of value. The stuff from before.
The very core function:
- View the book reccomendations of those you follow on twitter. That’s it. That is the most basic form of the offering. Get this out as soon as possible in an mvp.
And to capitalize on the mvp:
- Create a waitlist for folks who want the full feature list
- Have a clear roadmap page that shows anyone visiting the plans for future features. Include a voting component to these features
Put this out in an mvp version of the app. Post to indie hackers, hacker news
Last year I discovered readwise at the same time I was building the same thing out of frustration. As soon as I discovered their project I became a paying member and stopped development. I’ve been a full member since and don’t see that changing anytime soon.
Now I’m getting to that point again. That point where I want a better book focused social network. With certain features that will save me so much frustration with what already exist on the market. So I’m gonna build it myself, for myself, and for those who love to read and will like to have the same.
What I’ve got in mind for the initial version
So to start I want to avoid biting off more than I can chew so these are whats on my plate for the first version.
- Twitter Integration. Many folks already use twitter for their book recommendations. Me included. Bookmarking tweets is so far from ideal for keeping track of book tweets. Something better should exist.
- Better Booklists. That’s basic but these lists should allow me to note why I added a book to my to read list. There’ll be a did not finish list as well and of course you can’t rate a book that you did not finish.
- A clear rating system. I recently discovered that officially a 3 stars on goodreads means you like the book. I always thought that would be 4 stars. So I’ll do away with stars or numbers. A clear rating system is important.
- Critics and Regular reviews. Think rotten tomatoes but for books
I got a few more ideas but those will have to wait till I get the core product up and running with some feedback from users besides myself.