In September 2016, while freelancing, I was approached to build a mobile app. The client, Gary, had the idea that people would be able to chat with other people nearby who were talking about the same things. The app was to be called Vooba. He sent over a brief.
After a few exploratory phone calls, I sent Gary the following diagram.
We decided that maps and voice recordings were not needed and the focus should be on the feed algorithm. Since users did not follow other users, the feed was to be generated based on message matching in three dimensions: time, location and topic. If a user didn't send any messages, they wouldn't see any messages in their feed.
The algorithm tested for message inclusion as follows.
Time, Location, and Topic were all configurable.
A DM thread was available for any participants whose messages matched. This was how they would strike up a persistent conversation.
The app was built with React Native and Meteor. Meteor has a MongoDB database with MiniMongo for clientside caching.
I built the app. At first all the data queries were done using Meteor's publish/subscribe system. However, this did not scale well, so I switched to Meteor methods, which were more akin to remote procedure calls.
The app was completed. Gary changed the name to Dytto. I designed a logo, put together some artwork, and put test versions on the App Store and the Play Store.
Gary engaged a company to beta test and had plans to market the app. Unfortunately it stalled when funding ran out.