Hacker News new | comments | show | ask | jobs | submit login
How I built 7books in under 4 weeks (7bks.com)
172 points by revorad 2420 days ago | hide | past | web | 76 comments | favorite

Thank you, thank you for creating a product blog whose header links back to the actual product page.

It seems like every other product blog that I visit is intentionally keeping me from being able to navigate to the actual product!

I completely agree - annoying as hell when you click the logo and you just stay on the blog. Joined up thinking people!

Of course it helps that I built it all from scratch so integrating the blog was pretty easy :)

Well, although that's one step better than blogs that completely lack a link back to the product, I don't find backlinking the actual blog logo to be all that intuitive. Often times I see blog logos that are variants of the actual product logo indicating you're looking at the blog, and so it doesn't make much sense to hide the link there. Just make an explicit link to the product in the sidebar or something. I can't tell you how many times I've closed a product blog page after growing frustrated with not being able to spot a link to the product quickly.

This. I'm always coming across blog posts for products which I DON'T know... and hit hte header link... and it just brings me to the blog home page. Which usually tells me nothing about what the service actually does.

Jesus, 4 weeks? That's awesome. I've been learning on and off for a few years now, and have recently buckled down to finally get something done. What are some lessons you learned for building your next project? Also, it seems like you've got a good eye for design. With a bit more practice and experience, you could likely make some great looking sites. It certainly looks a lot better than sites I've seen made by more seasoned coders.

Kyro, I'm planning a follow up "lessons learned" post already (#1 - enable billing on app engine 'just in case'!!).

Thanks a lot for your feedback :)

First thoughts: yeah yeah 4 weeks isn't that impressive. But then... that included learning to program from scratch?!? Wow.

Thanks almost :) I hope the story is inspirational but also, really anyone can do it with a little work. I hope I inspire people to follow suit and code their dreams

Holy wow - thank you so much everyone for your feedback and comments! I leave for 2 hours (taking a tour of Zappos in Vegas, amazing and life changing btw) and this thing goes crazy!

I've enabled billing in appengine as I'm nearly over quota:


If anyone has any tips to optimise my outgoing bandwidth it would be very much appreciated! Hopefully I caught it in time to avoid any real outages. I'll try and keep an eye on it though.

Ok - right off to trawl through the comments and responses and reply!

Thank you all :)

I took a quick look, and I don't see anything that stands out. Assets are mostly cached properly, nothing is excessively large, gzip is on, etc. You've been getting a bit over 4 requests per second for the past three hours, plus some more before that, so roughly 50k views. 1 GB of data transfer means each view is averaging 20k. That still seems a bit higher than it should, but it's low enough that I'd worry about other things way before you start optimizing the bandwidth.

Thank you very much for taking a look. Very reassuring to know I didn't mess anything up too bad :)

Update - the site just fell over :(

I've activated billing in app engine but no idea how long it takes to come online. Really sorry guys - I assumed the free quotes would see me through! Hopefully it comes back soon.

edit - looks like the billing just kicked in... Phew. Sorry about that! looks like I caught it just about in time. If you saw the 404 page my apologies. I've loaded it up with credits so it should stay up now

welcome to the world of running public facing internet services. and early onset heart disease.

Heh - indeed :)

AppEngine claims to provide enough free bandwidth for ~5 million pageviews/month. Did you hit that limit from just this HN post?

I'm really new to this so not really sure. When you enable billing your free limits increase (weird I know) and I don't think I've actually incurred any costs as a result. I don't really know how well optimised my site is so it may be that it could scale up to those numbers if the back end was better? That said, all the limits are daily on app engine so maybe it was just that the spike was big enough to bust my daily limits?

Will you share the traffic numbers to illuminate at what point the free-with-no-credit-card GAE quotas really kick in?

Yep, sure will. I'm planning a follow up post when I get a chance

As someone who within the last two weeks picked up app engine and created an MVP of my own http://www.pubcontweets.com, I can not only relate to your story but also applaud you for sharing the it as well as your code. Thanks.

Stupid question: what does MVP stand for here?

Minimum Viable Product.

Microsoft Valued Professional. I'm building one too. They're real fun to play with though easy to anger.

I totally agree. Getting something out in few weeks is amazing especially if you have a day job. I too released my first project http://caniafforditnow.com/ and it took around 2 weeks to get it out. But I had some ruby on rails experience.

Hey - I'm at pubcon right now!! Come say hi! My email is on the 7bks site or twitter me or something. Small world :)

Oh - and nice site.

Hey thanks, I'm not at pubcon, i just like doing cool things with data. pubcontweets is a small part of a larger product i'm working on.

This is really great. I love the concept and simplicity.

Here are some suggestions:

1. Use the Amazon API to autosuggest book titles and author names.

2. Normalize the lists. That is, count up which books are recommended the most and use those statistics to recommend books.

3. List similar lists on each list :) Lists that list the same books might be related. If they list two or more of the same books, they're probably related.

But even if you don't change a thing, it's still a great little project!

Thanks Zachster - some of those are definitely on my road map. I wanted to launch early though so as soon as I was partially happy with it I set it live. I can add those features later.

The ajax thing is definitely a strong priority - but I need to learn how to do ajax first and I think it's pretty hard...!

I highly recommend this free, online book for learning more about jQuery.


(AJAX is chapter 7)

How much did that domain name cost?

These are similar, they may help inspire you for features: http://www.goodreads.com/ http://www.shelfari.com/

Keep it up!

The domain may well have been unregistered.

As HN'er nerfhammer noted: 1 digit + 3 letters = 83.8% availability. http://news.ycombinator.com/item?id=1698035

I thought they were all gone!


The domain was unregistered. I owe @sharkseo a MASSIVE thank you for spotting the domain and tipping me off.

I contacted 7books.net and 7books.com along the way - I'll write a follow up post talking about that experience at some point.

Thanks for the links - I've already looked at them to check they didn't do exactly what I do but will definitely have a proper play around. There's also librarything which I'm a member of.

Books ftw!

Great job learning a language (and an infrastructure) with such speed!

I've been building something with a similar aim on and off for a long time now, and it's neat to see in the comments that there are at least three others already out there.

I wonder if there is something that will lead to more widespread awareness/adoption of sites like these. Or are we better off trying to pick a target market smaller than [all book readers]?

Some good food for thought as I try and finally finish my own entrant into the space.

Frankly I have no idea :)

Having only just launched I don't know what the market looks like. I strongly suspect that the site will end up gravitating towards one kind of user. But who knows! 22books.com (mentioned below) gets used by quite a lot of school teachers so there are plenty of niches out there.

Let me know how you get on - happy to share thoughts :)

I built a similar site - http://www.instabrary.com awhile back which is pretty much the exact same idea. It's running now but since I moved to Heroku you can't register. I should look into that.

The Rails source is here: https://github.com/marcus/Instabrary

Ooh nice site - I tried googling around to see if there were any other sites that did it but didn't find your site before I built mine. I'll definitely take a poke around and see what I can learn though :)

Very nice. I'm impressed with turning that out in four weeks based on starting with no programming/html knowledge. As far as the CSS goes, one thing that helped me was using one of the many CSS frameworks out there. You might try that if you run into more issues going forward. I'm using blueprint for now, but there are several out there to choose from.

I have no idea what a CSS framework is but I'll put it on my todo list to find out! Thanks :)

no problem. What you have now looks good, so you may not need it unless/until you do a redesign.

They basically have a set of predefined CSS classes for layouts to give you a starting point. Blueprint and some of the others also have a default set of styles predefined, and you can find several examples of people who have added to them. It basically gave me a good starting point instead of having to hack up my own CSS from the start.

They also claim to help resolve several of the CSS differences between browsers, but I haven't tested that first hand yet.

This is awesome - I built a site called 22books a couple years ago as a way to learn Ruby... it took me a little longer than 4 weeks but I think I launched with more functionality.

I haven't done much with the site but it actually ended up getting used by teachers and librarians so I would feel bad ever shutting it down.


Hey mate - we spoke on email a few weeks ago! I was gonna drop you a line about the site but things have been a bit manic recently. I think I'm going in a slightly different direction to you so hopefully you don't mind too much that our sites are similar. I'm going to look at exploring the community angle in the coming months so hopefully we won't tread on each others toes too much.

I'm going to create a site called 1book.com where you post your top favourite book :)

Not at all - like I said before it was just a hobby and never meant to be a serious thing.

Very impressive. I've been learning Python for almost a whole year and I haven't even got one completely functional app. I've got tons of unfinished ones though.

FINISH THEM! Ask for help if you need it!

I started doing "web stuff" about 3 years ago and have learned sooo much just by forcing myself to do it.

It's so funny to me to see how much I've changed, I came across one of the first ever "apps" that I made a few days ago. It was a DVD cataloger that I made my Dad for his birthday (He glanced at it, went "huh", then bought some commercial version of the same thing...humph) and it was kindof cool to look over the shoulder of Ryan from 3 years ago to see what he was doing.

What's keeping you from finishing these things?

I'd encourage you to put them live before you finish them! 7books isn't finished at all, this is just the beginning but all this feedback and testing is what shapes the future of the site. I learned the "publish fast" concept from HN and I strongly recommend it.

When in the middle of a project, i suddenly get a "better" idea and abandon the current project to work on the better one.

Is it that the idea is better, or is it that you hit a wall in your programming?

(This has been my excuse to myself before)

Either it's that or the core of the website was finished, but tons of small things needed to be fixed, which is a real pain in the ass to do. And sometimes I do feel like I have a better idea and working on the current project would be a waste of time.

Took me a while to realize that sometimes the real reason I canceled my projects were because of laziness.

So I notice that you are taking images off amazon's API and are reposting the covers... how are you getting away with this. I had a similar idea that i half implemented and had to abandon because amazon's API policy is very specific about hosting and grabbing their images from their API. They also supposedly don't want you to cash almost any of their information ...

Umm - I don't use any book images on my site so I'm not sure if perhaps you're confused with another of the sites listed here?

to go from not knowing how to make a <form> to doing all of this in 4 weeks is majorly impressive. and the site has a really nice, unique look and feel. good work!

thanks :)

> I'd strongly recommend anyone starting out developing something to find some kind of mentor. I wish I'd had someone I could have asked for help but in my case...

So is there already a hn spreadsheet up somewhere where one could find a, say, rails mentor? :)

Awesome! Thanks.

Good for you, it always warms my heart to see someone taking these first steps. Try to notice your own reactions, its good to be reminded of when you yourself were a novice.

Thanks vidar - I'm blown away by all the positive feedback :)

It's been a fun few weeks, I hope my post encourages others to follow in my steps!


1) I'm not sure whether you're using Amazon referral links. You can show the book cover next to the title linking it to the amazon using the associate tag. It will fetch you some decent money I believe if someone buys the books using the links. Have never used but read about this in Stackoverflow.

2) You can use amazon.com/books instead of amazon.com in the Stuck? message link when adding a new book.

Great work!!

I had to subscribe myself just to say you rock man! Great idea, amazing history and huge willpower! Congrats

Great job taking into account you learned along the way...but most of all, kudos for sticking with it. Sometimes, that is the most difficult part.

Love the simplicity of the site, as well. Good luck.

Did you learn Python first?

or did you learn it as your learned google's app engine?

Learned it as I went along. I was completely new to both app engine and python when I started. The beginners guide on app engine (link in blog post) guides you through everything you need really

Kudos for posting the source code as well.

Feature request: show book cover art.

Small Tip: --Have a friendlier URL for users. I.e., If I want to share my list with someone offline, I'd prefer to say, "Hey checkout 7bks.com/user/steamer25" rather than "7bks.com/user/1094004".

Yep - I know I should do that. Brings with it a few issues but I'll try and migrate over at some point - same with blog posts, I'd love to use slugs rather than numbers.

Impressive - good work!

I love the blog theme. Is that a WordPress blog? What's the theme's name?

If you read the article you'll see he mentioned that he wrote the blog software too... so no, it's not wordpress.

Oh, thanks. I missed that.

It would be nice if you can pull in some images from amazon of book covers.

Using ajax with either the amazon or google books api is definitely on my roadmap. I don't (yet!) know how to code ajax though. Also - i'm unconvinced about book covers. Most book covers are actually pretty uninteresting so I'm not a big fan of them. Still, I definitely want to make certain things more visual.

Did you purposely use orange lines to appeal to this community?

It worked.

Hell of a good job. Learning to code & build a web app from scratch in 4 weeks is mighty impressive.

Thank you sir :)

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact