Powerful Google developer tools for immediate impact! (2023-24 C)
Lean Startup: Flowdock's Journey to Product-Market Fit
1. Our journey to product-market fit.
Otto Hilska, Founder & CEO
1
Otto Hilska’s talk at Scan-Agile: Lean Startup track.
Discussing our own story on our long but entertaining journey to product/market fit.
2. 2
Most of my professional life written software for others.
Last 8 years: our own consulting shop Nodeta, specialized in Ruby on Rails.
Built and sold a Ruby on Rails hosting company.
3. 3
One of the side projects we’ve built is APIdock.com, a social documentation site. 170k MAU.
Didn’t have a business model, but turned out to be a great exercise in terms of driving traffic
to our other projects, learning, gaining traction in the Ruby community.
4. 4
Every time we started a new project, we argued about the toolset.
We learned that developers tend to live in a group chat - they use it all day long. Then there’s
email, where you get thousands of automatic emails that you never read. There’s project
management for tracking progress, and actual development also happens somewhere.
This kind of workflow is very slow and error-prone.
5. 5
Flowdock is a centralized communication hub for your team. It’s based on the group chat,
that everyone’s already using. Thus, we’re not another communication tool, but we’re
improving something you already have. But on the left you see a shared team inbox, that’s
connected to all the other tools your team is using.
6. 6
Traditionally work and communication were disconnected.
Instead of forwarding emails around, real-time discussions now take place in Flowdock, with
the right context. Issues are solved in minutes instead of days.
7. 7
The lean startup principles should be easy to understand to all people agile. However, the
concept of measuring tends to be quite different: traditionally we just asked the Product
Owner if something’s ok, but when building a product for the unknown market, different
tools are needed.
10. When a great team meets a
lousy market, market wins.
10
Sometimes you just need to understand that the market isn’t there. New markets can be
created, but it doesn’t happen every day.
Doing market sizing was not the kind of thing I wanted to do when I started a company.
11. The only thing that matters is
getting to product/market fit.
Andy Rachleff, Benchmark Capital
11
So many companies die trying.
My friends always wonder if someone’s not trying to scale the company aggressively.
Wouldn’t burn much money before that.
Searching for a business model is different from executing a validated one.
12. Problem:
Time tracking
12
Consulting at a major corporation, time tracking was a pain. Social time tracking, people
knowing what others are doing.
Ignored the idea before writing any code: 350 million search results. Weren’t feeling very
passionate about it.
13. Problem:
Let’s build a platform!
13
Idea evolved to social time tracking. What if everyone was present at a team hub, and time
tracking would just happen automatically?
Or what if time tracking was just one of the team hub’s features? Next we wanted to build a
platform for real-time collaboration widgets.
Problem: the platform isn’t anyone’s problem, it’s just something that might be cool to build.
No one asked for it...
14. Team Inbox with Chat
14
Ended up building something for ourselves.
At the time, we were randomly using IRC, Skype and Jabber servers for internal team
communication.
15. LAUNCH
15
So after some self-funded experimentation we decided to launch. It wasn’t pretty, it lacked a
lot of functionality, but it demonstrated the basic concept.
16. 16
If you’ve ever launched anything, you know it often looks like this.
Even my friends didn’t continue using the app after a couple of minutes. And then they just
stop answering your calls.
While launching was important, it probably wasn’t pleasant. Soft launches becoming popular.
17. MVP
17
Term coined by Eric Ries. Minimum Viable Product, doing as little as possible to produce
validated learning.
19. MVP ≠ cheap
19
Confused with one day of hacking. Need to consider: what’s your assumption? When is it
verified?
Developing metrics is actually a lot of work, and it’s not a part of something people consider
quick prototypes.
20. Validated learning?
20
Our initial launch didn’t provide that much validated learning. We saw that it wasn’t
skyrocketing, but didn’t have a great understanding on why it happened.
21. Leaps of faith
Willing to pay?
x Possible on web?
Companies ready for SaaS?
x Do teams use group chat?
21
Turns out some of the assumptions could’ve been validated even without writing a single line
of code.
22. Vanity metrics:
Total number of signups
Number of visits
22
It’s easy to look at the biggest numbers you’re able to measure. Unfortunately, they don’t
give a proper view to the performance of your business.
23. Real metrics:
Monthly signups
Conversion funnels
Monthly Recurring Revenue
Average Revenue Per User
Customer Lifetime Value
Churn
Total time online
23
These are just some of the metrics we ended up measuring a bit later. Some of them directly
related to money, and thus not applicable at very early stage.
24. However: thousands of feedback emails
24
Considering how rarely I send feedback to app authors, I think we were doing something
right when we started receiving thousands of emails from the users.
We had a small Feedback button integrated to the app UI very early on.
25. Honesty
with yourself
25
It’s so easy to look at the good metrics, but it’s extremely important to focus on things that
DO NOT work, and fix them.
26. How would you feel if you
could no longer use [product]?
26
One approach to measuring product-market fit:
Sean Ellis, marketing guru, asks this question from active users. He says you’ve got product-
market fit when 40% answer they’d be “Very disappointed”.
28. 28
And when you don’t, you should be able to notice it as well.
29. New Money-making
machine Churn
users
29
In the beginning churn and signups are easily about the same size.
Your machine is leaking from behind, and spending a lot of money on customer acquisition is
going to kill you.
30. Customer score
30
We have a free 30-day trial, and we needed to iterate faster. Can’t wait 30 days to see if
something’s working or not, so we introduced a “customer score” that helps us in guessing if
someone’s going to start paying.
We could also apply some machine learning techniques the accuracy.
31. Conversion funnels
1000 Site visits 1000
3% Signup form 10%
15% Signups 30%
= 4.5 signups = 30 signups
31
The impact we got from A/B testing, website redesign, repositioning etc. was significant. And
the work continues. Naturally affects customer acquisition cost.
Then there’s another funnel from signup to a paying customer.
Changes made over a 6-month period. Churn rate dropped from 10% to 3%.
32. So who’s really
active?
32
Every startup needs to figure out, what’s the metric of valuing their users.
Money brought by the customer is not the only thing. Also, viral coefficient etc.
33. 33
Asking for money was one of the best decisions. Customers took us more seriously, and we
started getting better feedback. Should have done it earlier.
34. Cohort analysis
1st week 2nd week 3rd week 4th week
4 weeks
25 23 21 20
ago
3 weeks
25 23 21
ago
2 weeks
29 28
ago
1 week
30
ago
34
Once you’ve established your metrics, you don’t want to be looking at a single number.
Instead, follow what’s happening over the time.
35. 35
First manual emails, then more and more automatic emails when patterns emerged.
Also helps us to figure out why companies are leaving, or why they never got started in the
first place.
What they were doing before, and what they’re doing now with Flowdock.
36. 36
Looking at the configuration, it became obvious that we need to help users get rid of some of
the tools (Skype). We don’t want to be the Yet Another Tool.
Sometimes it means that we features that don’t necessarily make sense in our original
context are still needed.
Made us the must-have tool (painkiller) instead of just nice-to-have (vitamins)!
37. Who is the customer?
37
As funny as it may seem, after you’ve spent a year coding, you still might not know who the
customer is, who’s making the decisions etc.
Automatic emails were a great way to extract that information.
Also need to identify who’s getting the most value out of the app. Even if you have several
customer segments, there’s probably one you want to focus on.
38. 38
Initially didn’t want to limit the audience too much. Doing different landing pages is a good
way to test expectations about the audience.
39. 39
Today our customers have a face.
At a pitching competition, the next guy started their pitch by saying how much they love
Flowdock. :)
Someone emailed telling us that there hasn’t been anything to complain about, so they
hadn’t sent any feedback.
40. Marketing by Engineers
40
40
My own background: technology.
Turns out, marketing is great for technologists. Yes, some copywriting, but also lots of
measuring, understanding the users, tracking behavior.
Since we’re targeting developers, my current opinion is that everyone in the company should
know how to code.
41. Product Management
a.k.a. The Prioritization Hell
41
So when you’ve got the attention of these wonderful people, you need to start prioritizing
their feature requests.
42. 42
Failed feature: keyboard shortcuts.
Hard even for vim users, probably requested by one user.
Surprisingly hard to implement. Doesn’t work well with some browsers.
Experimentation feature, though.
43. Amazing!
43
Good feature: notifications and marking them read.
Facebook marks everything read automatically. Not good for important business messages.
GitHub requires you to mark all notifications read explicitly. Really annoying, I always have
100+ “unread” notifications.
Our solution: marking messages read when the user sees it. How Steve would do it. :)
44. 1st iteration
2nd iteration
44
To create amazing products, you must not stop at the first iteration of anything. We did this
several times, for example: mobile web client
It’s a tempting idea to go on with the huge feature backlog, instead of going back to the old
features.
45. 1st iteration
2nd iteration
3rd iteration
4th iteration
5th iteration 45
Equally, UX will not always survive from several iterations. Courage to redesign.
46. Throwing it away
46
Sometimes something you did a while ago is not needed anymore. We had a dashboard that
really didn’t serve a purpose anymore, so we removed it entirely.
47. Feature 1
x Feature 2
47
Great for testing: Features toggles. Facebook does this all the time, we just started.
You don’t want to add features that are not wanted.
48. Premature optimization
is the root of all evil.
48
Wasted a lot of time playing with funny and really experimental databases. The best part of
doing your own startup is that you get to choose the database, right?
If you know Ruby on Rails and MySQL, go with that, don’t think about the scalability.
49. 49
Many experts recommend to avoid bizdev partnerships early on. We got to a great position by
being the only chat-based communication tool that works together with all Atlassian’s major
products.
Distribution makes or breaks a SaaS product.
Heavy focus on partnerships wasn’t in our original plan, but it turned out to make our
product much more useful. Also, it filters out users who obviously aren’t willing to pay for a
SaaS product.
50. 50
We’ve recently put a lot of effort to improving our API. Will be cool to see what the users will
come up with.
Don’t really know what business developers do, but as Paul Graham said: APIs are self-
service business development.
Already some mobile clients in development.
Question: should we have done it earlier?
51. Alex Rosen,
Marten Mickos Gil Penchina
IDG Ventures
Mike Arrington,
Naval Ravikant
CrunchFund
51
We bootstrapped for quite a while. The longer you can survive without external funding, the
better.
Raised funding from Silicon Valley. Great for entering a foreign market.
52. flowdock.com
twitter.com/flowdock
twitter.com/mutru
otto@flowdock.com
Otto Hilska, Founder & CEO
52
This is just the beginning, and I’m constantly learning new things. 6 months from now this
presentation will likely be obsolete. :)
Thank you for your time, let’s discuss.