"Searching for Lost Kitties": ITMO student Develops an App for Finding Lost Pets
Maksim Averin, a student at ITMO University, and his team "3bots" won the audience choice award at the Vkontakte hackathon that took place at the end of November. The hackathon's participants were impressed by their "Searching for Lost Kitty's" app. Maxim Averin shared how they got the idea of an application that helps find lost pets.
Why did you decide to make this application?
During the hackathon we had different ideas on how to process ads in Vkontakte, yet, we decided to search for lost pets. The reason was that my teammate Seva Jidkov lost his cat a while ago. He endlessly browsed through the ads posted by people who had found lost pets, and so he came up with this idea. When we presented it at the hackathon, our project got the audience choice award. The hackathon was a great experience, and I recommend it to everyone who wants not only to learn to quickly develop their ideas, but to also explain them and present them to the public. From my point of view, that's really important.
The idea of our application is quite simple: a person chooses a city, uploads the photo of his lost pet, and we automatically search groups and publics for posts about similar pets. In reality, it's a lot harder: as of now, we work with groups dedicated to lost pets, in order to create a database of posts.
How does the prototype work?
Everyone knows that a neural network is some algorithm that can be "taught". You put in a condition, that the image features a cat or a dog. With time, the network learns to make decisions independently. We plan to create our own algorithm for comparison. The point is to make it so that the app will understand the similarities between two images that feature the same animal. We wanted to create our own neural network during the hackathon, but that proved to be difficult. When you only have a 24 hour time limit, you need to create some prototype to illustrate your idea. So we decided to not waste time and used a service from Google. We uploaded photographs there, and the program gave us several distinctive features and a set of probabilities. For example, 90% probability that the image features a cat, 60% that it has whiskers and so on. When we have the necessary features, we can compare the photos. After we used the Google service, all we had to do was to finish the program. The app searches for photos, but doesn't take everything into account — noise and shades, for instance. Otherwise, it would take too long to do it.
So what has to be improved?
We need to make it so that the photos online and those that the user uploads would have more similar features. As of now, we are yet to help anyone, so there's lots of place for improvement.
We have to improve the usability, and also upgrade the search function. As soon as we solve this, we'll add other large cities to the app's geography. The most important part of our work would be interacting with users. Unfortunately, our app is not some magic: we can only find the lost pets among the posts published online. That means that if no one found your pet and uploaded a photo, we won't be able to help you. We also will have to increase the range of groups and publics we use. As of now, we use 12 groups in Saint Petersburg. Personally, I believe that we first have to help someone and then promote our product. I don't want to be like those startuppers that promote useless products.
App for finding lost pets.
I hope you won't limit your app to cats only?
Surely. Our app can already be used to search for dogs, for example. The neural network is self-learning, which means that its efficiency depends on how many images, meaning types of cats and dogs it can recognize and analyze. The more images there will be, the better it will become. We've conducted an experiment: we've uploaded a photo of a raccoon, but it still finds only striped cats.
What of your project's future?
Now I understand that apart from development, we have to do project management as well. Amongst our team, I seem to be the person who likes interacting with people the most, but it takes lots of time and effort. And I want to contribute to the program. There's no point in developing a startup without studying the client and his needs, thinking only about money.