How to start a deep learning startup, NOT from scratch: a tutorial

Mostapha Benhenda
Aug 10, 2016 · 7 min read

This tutorial teaches how to start a deep learning startup.

Basically, the method is the same as with any startup, except that you put a deep learning ingredient somewhere. So you need to:

  1. Elaborate an idea
  2. Build a team

3. Assemble a deep learning product

4. Engage with a market

These 4 processes must be executed quickly, and in parallel. Any improvement in one process impacts the 3 others considerably.

For example, you will elaborate better ideas, once you develop an intuition about your market. You will better learn from the market, once you have a product to showcase,….

However, you should not spread your effort equally. You should focus your resources on the bottleneck process, and avoid over-optimizing the others.

Image for post
Image for post

Recommended material:

How to start a startup, Paul Graham

The lean startup, Eric Ries

How to start a startup, Stanford CS183B course, Sam Altman et al.

1. Elaborate an idea

The best ideas are the ideas that can solve your own problems. This approach will help you to empathize with users. For example, I thought about face recognition in a hostel, when I got annoyed by the frequent ringing of the doorbell. It can be a real noise pollution. That’s my “customer pain”. And I heard that existing technology could solve this problem at a cheap cost, that image recognition is becoming a commodity.

However, any kind of idea is good, as far as you have the motivation to explore it. You should not spend too much time overthinking your initial idea, it’s too early to shine with originality. It’s better to put something on the table, and then use the feedback from users to refine or modify your idea, in original ways.

If you have no clue at all, you can find inspiration from other startups.

Recommended material:

Angellist startups with the tag ‘deep learning’

How to Get Startup Ideas, Paul Graham

What are the best ways to think of ideas for a startup? Quora

2. Build a team

That’s the Human Resource part. Ideally, you should build a team of 2–3 co-founders. The criteria are: trust, motivation and skills. Nonetheless, these requirements for a Minimal Viable Co-founder can be hard to meet.

If you don’t find anyone, just start as a single founder. Maybe it will be easier to learn all the tech/business stuff alone, than to find a tech/business co-founder.

Recommended material:

Lean startup thinking: your ‘Minimum Viable Co-founder’, Ian Brookes

Breaking a myth: Data shows you don’t actually need a co-founder, Haje Jan Kamps

3. Assemble a deep learning product

You build your product like a furniture from IKEA: by quickly assembling ready-made parts:

Image for post
Image for post

Pay attention to design, it matters. Code can be left dirty, you will clean the mess later. Like a cheap IKEA furniture, things will fall apart quickly, but don’t worry, you are not crafting a piece of museum.

Image for post
Image for post
Image for post
Image for post

Your product should be “minimal viable” (MVP), which means that it should be viable enough to be shown to users, while requiring the minimal amount of effort to be produced.

Now, let’s get to the practical details:

3.1 Deep learning without deep understanding.

The core feature of the product is based on deep learning. You don’t need a deep understanding of deep learning to get started: you can use transfer learning, or an open-source API. You can also use a commercial API to get started, but think about a fallback plan. First, this API costs money at some point, and second, it is more risky if the provider pivots, or simply shuts down. In deep learning, many companies dream to get acquired by a competitor, don’t rely on a mock startup too much.

For my product, I choose the OpenFace library of face recognition, which re-implements Google’s FaceNet paper. And I am satisfied.

3.2 Code and deploy a web/mobile application

The deep learning feature is packaged into a web or mobile application. A web framework like Python Flask, and a database like MySQL, are usually enough.

If your product uses live streaming, then you will probably need websockets, available in autobahn. In this case, you use a twisted server for deployment. Otherwise, deploying on a HTTP Apache server is enough.

For hosting, I used AWS free tier, but now there are many other alternatives.

And when bugs happen, the first reflex is to google the error message, the second reflex is to try asking a good Stack Overflow question (which might require substantial preparation). If it fails, ask your rubber duck. It works.

Image for post
Image for post

Finally, register a fancy dot-com domain, or not-dot-com domain, and associate it with your server.

BONUS: For the streaming part, instead of websockets, it would be nice to adapt WebRTC for peer2server communication, as WebRTC is primarily peer 2 peer.

Recommended material (list not exhaustive):

How do I ask a good question? — Help Center — Stack Overflow

Creating a Web App From Scratch Using Python Flask and MySQL, Jay

How to Retrain Inception’s Final Layer for New Categories, TensorFlow

OpenFace library, Carnegie Mellon, B. Amos, B. Ludwiczuk, M. Satyanarayanan

4. Engage with a market

The product has little intrinsic value, despite all the efforts poured to assemble it. It acquires value with users and customers (or with investors, but it is risky to sell to them. Also, it is more difficult to play the tech bubble without traction).

For illustration, building an Uber clone costs 2000 dollars with a freelancer on Upwork.com:

Image for post
Image for post

On the other hand, as of June 2016, Uber inc. is valued to 66 Billion dollars.

Image for post
Image for post

The main difference (besides the bubble) is the 66 Million monthly trips made using the real Uber. The Uber clone has zero trip.

Another illustration: I am selling a clone website of my own startup, mindolia.com. I don’t really care about encouraging would-be competitors, because for me, the real value consists of the domain name and user data, which are not for sale.

However, this deal can still be interesting if you want to start a deep learning startup, but can’t do this tutorial by yourself, because of lack of time. Time is money. Contact me with offers.

Conclusion: the product is a cheap honeypot, designed to attract valuable bees.

Image for post
Image for post

So even before launching your product, you can spend a little time communicating with potential users, preferably face-to-face, and feel their mood. Expect brutal rejections, that’s what product-market fit is all about.

Things become more interesting, once you have a real product to show. You will be taken more seriously. In both ways, acts speak louder than words: your users can tell you one thing, and then react differently when they experience the real product.

So keep listening to users carefully, but also monitor metrics. Data science is useful for both assembling and selling your product.

Finally, build a brand. Remove all barriers to your product. Maximize your visibility. You need to be transparent, you can’t afford a secretive company culture. You are not Apple.

For example, you can contribute to a blog (on Medium, of course!), Quora, and record a Video clip for YouTube:

Recommended material:

Secrets of When and How to Talk to Customers at a Startup, Bob Warfield

How Sales Complexity impacts your Startup’s Viability, David Skok

The Definitive Guide to Growth Hacking, Neil Pattel and Bronson Taylor

Introduction to Marketing, Wharton Business School, Coursera, B. Kahn, P. Fader, D. Bell

Conclusion

Voilà, that’s it!

If you follow this tutorial, you will get started pretty quickly. Also, this tutorial is kept short and high-level: it’s only a Minimal Viable Post! If you wish more details about a particular point, just ask!

I will be glad to hear about your result! You can even pitch it remotely at our deep learning meetup in Ukraine! Click here to register!

The AI Lab

Perspectives on AI research and industry

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store