

Show HN: Reddit-based product recommendations (weekend project) - nathan_f77
http://www.youshouldbuythese.com/?utm=hn

======
archagon
Out of curiosity: when you say "weekend project", do you mean one person
working for a single weekend? Because I've been seeing more and more "weekend
projects" showing up on HN that look like they took a small team a week to put
together, and it's really making me feel self-conscious about taking several
days to just to get a couple of JS frameworks up and running on a simple
proof-of-concept web-app — to say nothing of CSS, UI, server stuff, QA, error
handling, etc. etc. etc. Am I really that far out of the loop?! Either way,
great work!

~~~
nathan_f77
Yep, I was on vacation and wrote most of the app in a weekend. I wrote the FAQ
and about pages on my phone while we were traveling, and then it took one more
evening to add most of the products. And I've spent a few more hours fixing
bugs and adding some more products. I have to admit, I was surprised at how
fast I got it done. It was a really focussed sprint.

Rails app / Reddit integration - I've been a Rails developer for a while, so
was very familiar with most of the gems I used. (devise, omniauth, resque,
etc.)

Server stuff - Heroku is pricy, but it's awesome. Although I might migrate to
a much cheaper Digital Ocean box this weekend.

CSS - Zurb Foundation is amazing. The menu bar, in particular, has really
awesome built-in responsiveness. There's a little custom CSS, but most is
stock framework.

Admin interface - I used RailsAdmin, which is perfect for small apps. It can
do so much out of the box. (For bigger apps, I prefer ActiveAdmin)

Error handling - I just added the airbrake gem and configured my self-hosted
Errbit instance. I've had it running on Heroku for a few years now.

QA - Thanks for your help!

The most time-consuming things were writing a simple Reddit API with httparty
(none of the gems I looked at supported OAuth), adding very basic PG array
support to Rails Admin, and making the site work on mobile (responsive design
was very fun to learn).

~~~
archagon
Thanks for the rundown! I wish more people posted their process like this.
Helps me learn what's best to use and how to do things faster.

------
pyduan
This is great. For a weekend project this looks and feels very polished.

Possible suggestions: it looks like it is 'just' retrieving one's list of
subscribed subreddits then displaying manually curated lists for each
category, which means every user who is subscribed to a subreddit will be
shown the same products in this category.

I don't know if you are planning on continuing work on this project, but if
you are adding more items implementing an actual recommender system could do
wonders (for example, by looking at what users with similar subscriptions have
favorited). I feel the Reddit-browsing demographic is one that would be very
receptive to this type of thing since some subreddits are all about about
social-based discovery.

I'm willing to guess one can learn a surprising lot about one's preferences by
looking at their Reddit subscriptions. For example, you may be able to guess
the clothing style of someone who is subscribed to r/malefashionadvice,
r/newyork, and r/finance, or that someone who reads both r/audiophile and
r/metal might like different headphones than someone who participates a lot in
r/classicalmusic.

~~~
nathan_f77
Thanks for the great feedback!

An actual recommendation engine would be a lot of fun to build. It would be
awesome to recommend products based on subreddit clusters, and similarities
between users.

But I don't really want to build a giant AI that sifts through the entire
Amazon catalog. I feel that it's a nicer user experience when you just offer a
small selection of manually curated products, and some studies show that
limiting the number of choices can make people more likely to buy something
[1]. I used to list a few CDs and MP3 downloads, but deleted those after I
decided that there are already much better music recommendation engines, and
they're subscription based. My line of thinking is that I should just start
doing a few categories really well, and then expand later.

[1]: [http://blog.ted.com/2012/07/18/does-having-choice-make-us-
ha...](http://blog.ted.com/2012/07/18/does-having-choice-make-us-
happy-6-studies-that-suggest-it-doesnt-always/)

~~~
OafTobark
You're arguing apples and oranges here. Yes, offering a smaller selection can
increase conversion but that has nothing to do with how the curation process
works on the backend to present the selection. Whether you do it by your
method or by going full on AI, you can still present a limited selection. The
only difference is how algorithmic the recommendations can be on an individual
level

~~~
nathan_f77
That's a good point. I guess my adverse reaction to building a proper
recommendation engine is because I've never experienced one that works really
well. I've never seen a decent product suggestion from Amazon and Google. But
maybe the problem is that their suggestions are based on my search history,
instead of my specific interests.

------
joncp
It suggested SublimeText. Blasphemy! I subscribe to the vim subreddit, so they
must be trying to mock me.

~~~
nathan_f77
Fixed! Well, Sublime is still suggested for /r/progamming, but I added
"Practical Vim: Edit Text at the Speed of Thought" for the vim subreddits.

------
ecesena
I have a Reddit account but no subreddits. The result is a "Sorry, we couldn't
find any products!". I'd recommend a fallback... it may be not personalized,
but at least it gives me something.

Another feedback, the title is a bit misleading to me. I expected to find a
list of products sorted à la Reddit, like [1], not really a personalization
based on my subreddits.

[1] [http://www.theneeds.com/shop/hot](http://www.theneeds.com/shop/hot)

~~~
nathan_f77
Fixed! Now showing a bunch of fallback products.

And sorry about the title!

------
benologist
I was thinking of doing something like this last year but never got around to
it. I wanted to build the user experience around commenting on reddit using eg
#buythis or #dontbuythis anywhere in a comment and it'll hopefully attract
attention and spread. I think there's especially potential with movies and
games on itunes and amazon.

------
styluss
Good idea. Funny that half my recommendations I already have.

------
macarthy12
Had the exact same project on my todo list! Validate my idea :-)

------
notatoad
from the faq: 3) How do you find these products? Most of the products on our
site are hand picked. We sometimes use automated tools to search Reddit for
product links, and only import the awesome ones.

that's boring. i was expecting some sort of algorithmic awesomeness, just
pasting the amazon urls of things you see on reddit into a website is not
especially novel.

~~~
hobo_mark
I'm the opposite, and I find this a fine example of 'doing things that don't
scale'. It works, it shipped, in a weekend. The fancy stuff can wait.

~~~
notatoad
It's a perfectly fine business decision. It works and it shipped, which is an
awesome way to make money. I'm not trying to take anything away from the
product here, but there isn't anything interesting about it. I feel like the
bar for a show HN post should be a bit higher than a template for amazon
referral links.

