As a software house we get this question a lot of times. Many people want to do something fresh and new, but how do you actually plan these things?

Siri, which wine is the best?

There are nice examples of the AI, like Siri or Alexa. Probably Netflix or Spotify algorithms wouldn’t be so effective if not for their machine learning algorithms. People get inspired by the new possibilities.

Machine Learning Software Development

But what all these names have in common is big money.

Most successful, even less known brands are heavily funded. For example, the great app - Vivino - which recognises a bottle of wine, based on a photo is something many people would like to apply to other areas of life. Like learn about reviews books in the bookstore, recognise cars on the streets, etc.

But Vivino also got their serious founding rounds: as of 2019 exceeding $50m.

So, do you need millions to develop an AI? Or can you do it quick and dirty?

Can you develop a great AI without great funds?

This question is not perfectly phrased. Even with enormous funds, it’s still not clear if you’ll make it. One example is self-driving cars. By the end of 2017, more than $80B was spent on them, but it’s not certain if we see these cars on the streets in any near future.

So more interesting question is: how much should I spend for a trial-and-error AI software development?

Usually software teams have unwritten rules, that if some Rough-Proof-of-Concept cannot be done within a few weeks by the best developer, then it won’t be done at all. The intuition behind it is that, if things cannot be done in a simple way, the complex way is just even worse.

So here it is: 2-3 weeks of a senior developer is a cost of a serious evaluation and an early proof-of-concept of a new machine learning algorithm.

Example work: finding a person’s exact location based on Wi-Fi

Heat map based on Wi-Fi signals

Goal

Software which determines where people are (indoor) based on Wi-Fi signals from their smartphones

Challenge

GPS doesn’t work indoors.

What you have indoor is e.g. Wi-Fi signal sent out from smartphones. But is it good enough?

Classical indoor GPS-like triangulation mathematical formula doesn’t offer with enough accuracy. Signals bounce off the walls.

Solution

A machine learning algorithm which determines position not using mathematical formulas, but a purely practical approach: for each spot inside a venue it learns about signal strength characteristics. Any bouncing signals are not a problem (as in classic formula-based approach) but actually help to better estimate position of a person.

Summary

Quick Research: 2 days
Rought-Proof-of-Concept development time: 2 weeks
Full Solution development time: 8 weeks (including the online GUI for calibration)

Stack: TensorFlow, Ruby on Rails, MySQL, Amazon EC2, Amazon RDS