[idea] Opin.io

Opin.io is the app for rating anything.

 How does it work?

As a user, you open the app to reveal the Rate tab. On the Rate tab you see a personalized and relevant list of things you can rate – the restaurant that you’re nearby, the popular television show that’s on right now, the book that your friend recently rated, the politician that is giving a speech later tonight. You can scroll down to reveal an infinite list of things to rate, or you can use the search bar at the top to find specific things to rate. If you don’t find what you’re looking for, you can add it.

The rating scheme is something I call bump ratings. With a bump rating you don’t necessarily know what the true rating of a thing is, all you can do is bump the rating up or down. The benefit of bump ratings is that they remove a lot of the friction to traditional 5 star or 10 point rating schemes. You don’t need to think about if the restaurant you ate at was a 3 star or a 3.5 star dinner, you just need to ask yourself: did I like or dislike my experience? If you liked the experience a lot, bump the rating twice.

In order to prevent rating inflation, repeat bump ratings can be rate limited: e.g. if you want to bump the rating up three times then you can press the like button twice, but then you have to wait a second (or pay a penny, or even better pay two pennies) before pressing the like button a third time. This way the magnitude of the bump rating scales directly with the amount of effort required to give the rating.

Bump ratings don’t guarantee accurate ratings, but they converge towards accurate ratings through effort and/or repetition. This makes sense statistically. The more passionate you are about something, or the more frequently you interact with something, the more likely that your rating will reflect your true opinion. In other words, as passion and frequency increase, the variance of the rating decreases.

Bump ratings don’t have a maximum or minimum. This means that as passion and frequency increase, the granularity of the rating increases. This makes sense also. Consider your top 100 favorite restaurants. You can probably name the top 25, and you probably know which of the top 25 are also in the top 10. The ordering of these 25 is somewhat important. Now think about the bottom 75 restaurants. You probably can’t name many of them, and their ordering is certainly less important.

All of this makes sense intuitively. Your strong opinion of something is justified either through such an impactful experience that you swallowed the rate limits, or through frequent interactions with that thing. Your favorite restaurant might be a high end affair that you visited in Paris and had a particularly positive experience at. It might also be the local Pho place where you and your coworkers eat lunch at least once a weak. Through either passion, or frequency, or both, these restaurants would have a high rating in the bump rating scheme. Then, due to higher granularity of extreme ratings, you could also start to reasonably determine which restaurant you liked more.

 So what?

The simple act of giving a bump rating provides us with a wealth of information. The most core of that is an interaction log. When a user bumps a rating, either up or down, it provides a signal that a specific user interacted with a specific thing, at a specific time and location. With this information we could build several useful experiences.


How many restaurants have you been to in your life? How many movies have you seen? You probably don’t know. I certainly don’t know. All of that time spent accruing personal experience only to have most of it thrown out because it wasn’t noteworthy enough to take up space in your memory. At the highest level, Opin.io is a way to keep track of what you’ve done, and how you felt about it.


Knowing a user’s interaction history makes Opin.io well placed to make predictions about a user’s interaction future. This will power the relevancy model for realtime rating, but could also power a suggestion model for things that you haven’t done but might want to try. For example, certain views could add a third option, bookmark, for things that users haven’t done yet but might want to remember for the future.

Another powerful use case is using Opin.io as a data aggregation platform to power the recommendations of other apps. For example, when a new user signs up for Netflix they could import their movie preference history from Opin.io.


We know that a person’s preferences are strongly correlated to the preference’s of their friends, which means that social is an important input in the realtime relevancy model. Above and beyond this, people also like to know what their friends are up to. Most of the activity that people do on a day to day basis doesn’t warrant a snap or a tweet, and certainly doesn’t warrant a Facebook post. But as a friend I’m interested in what my friends are doing and how they feel about it. What tv shows are they watching? What books are they reading? Opin.io could be a low friction aggregate of your friends’ day to day life.

Users like knowing what’s going on around them. Is that new Cuban food truck trending up? Maybe figure out where’s it’ll be for lunch. Is The Voice trending down? Maybe don’t bother watching it this week. The realtime nature of Opin.io makes trending a powerful discovery feature.

Trending can also be useful tool from a business perspective. Is your restaurant trending down? Maybe you’ve got a problem. Trending can be useful to businesses as a quick indicator of public opinion.


Each genre has their own group of trendsetters. Trendsetters are noteworthy, because they like liking things first. Their interaction patterns are an early indicator of everyone else’s interaction patterns – what’s going to be popular in the future. Trendsetters are an important targeting group for feedback, as they are the experts in their genre. They can also be used as signal in the relevancy and trending models.

There’s also an opportunity for gamification here, where a user’s influence can be measured and scored. This has the potential to be sticky, but it needs to be well thought out (and better than Foursquare’s mayorships thing).


There are many times when people want to get other people’s opinion about something. This could be an existing thing: “I just finished reading Atlas Shrugged and I want to know what my friends thought of it.” It could also be an new thing: “I just got a new haircut and I want to know if people like it.” Either way, there’s an opportunity for people to request feedback from their friends.

This could also be a valuable feature from a business perspective. Businesses could pay to increase their rank in the relevancy model as a way of getting specific feedback, or more exposure.

 What about the chicken and egg problem?

The chicken and egg problem is when your product needs data in order to get users, but also needs users in order to get data. Opin.io definitely has a chicken and egg problem, but I think it also has an even subtle problem that I like to think of this as the Netflix problem, because Netflix is really good at recommending me movies that I’ve already seen. The problem is that Netflix doesn’t know that I’ve already seen them, because I watched them before I had Netflix. Opin.io is about helping you maintain accurate opinions, which in a large part consisted of opinions you had before using the app. How do you incorporate the opinion history of a new user?

When possible it makes sense to import that history from existing sources: Facebook, Yelp, Foursquare. In other cases, I think it’s reasonable to take new users through an onboarding process. People like remembering the stuff they like. They also like talking about it. One of the first things we do when we meet new people is see if we have interests in common: “Oh, have you seen the new Bond film? – I thought it was great!”

I can imagine an interactive onboarding process that feels like a conversation: “Do you like to travel? Yes? Have you been to any of these places and did you like them?” Then move on to other topics: “How about sports? Do like any of these sports? Teams? Athletes?” You could also incorporate social data by linking Facebook friends: “Your friend Sam recently liked American Idol. Do you like American Idol also?”

This onboarding process eases the chicken and egg problem, but it also serves an even more powerful objective of customer education. When new users come to Opin.io they won’t understand how to use it. The first goal of the onboarding process should be to teach users to rate often, and without thinking too hard about it. Five star rating schemes rely on a high degree of precision, but bump ratings thrive in scale. Until the action of rating something becomes a habit, this onboarding process (historical opinion vs realtime opinion) could likely be the primary channel for Opin.io to collect data.


Tweet @jomrcr.


Now read this

[notes] The Lean Startup

The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses (2011) by Eric Ries Buy from Amazon These are my notes from reading The Lean Startup. I’ve re-arranged and summarized them... Continue →