Pages

Sunday, August 2, 2020

Taking an iterative approach to Data Science 🔄

Foreword 

A few months back I had an idea. Wouldn't it be cool to combine my two favourite interests, Food and Data? I got to thinking about different ways I could apply my skills to food-related applications. At the start, I struggled to find direction. How could I produce something meaningful from food data? A deep neural network generating recipes? Computer vision to detect the ideal roasted marshmallow for smores? I was at a total loss.
Then it hit me, data and food already live together in perfect harmony. Restaurant Menus were the key! They're a structured data source that's pairs dishes with rich-text descriptions and numeric prices!
Restaurant Menus - The ideal way to combine my two interests. 


Problem Identification

What problem was I looking to solve though? My project wasn't going to be useful to my users unless it is solving a problem they experience. I set out to better understand the process of designing and setting menus.

I reached out to different communities of chefs and restaurant owners on Reddit. The answers I received varied a lot. Different establishments followed different processes and there wasn't much of an industry standard. The process seems incredibly informal when considering that it is the most important marketing tool of a restaurant

I noticed that restaurants with visually appealing menus weren't designed in-house. I learned in North America it's common for restaurants to partner with a liquor supplier. As an added bonus to the deal, the liquor supplier may offer to help with designing the restaurant menu. The downside of this is that it locks restaurants into a menu and forbids rapid revisions.

With the information above I had scoped out the problem I wanted to solve. It seems that there's an opportunity to make a "Smart" web-based menu designer. This web app will remove the barriers to allow for non-designers to put together aesthetically pleasing menus in minutes. If the app gets any traction I play to utilize user data to train Machine Learning models to enhance the menus created. I'll call in Popinly

Solutions Design

To build any intelligence into this product I know that I'm going to need a lot of data. Building Machine Learning into a product from its genesis is a daunting task. It is best to start simple and build in Data Science after an initial release. To decide on the best work plan for myself, I put together an end state for this product and I'll work backwards from there.

The End State

The end state of this product will incorporate two distinct Machine Learning features.

The first feature would be a "Description Enhancer". Given an item's title, this tool will recommend adjectives to enhance the description. To build this product I'll need a large dataset of menu items. Using this dataset I could produce embeddings to generate future predictions.

The Description Enhancer

The second feature would be a price predictor. Given an item's title, description and other features, this product will predict a fair price. This product needs an immense dataset as geography will play a large role in price prediction.

Machine Learning-based tools integrated into the app

Roadmap

To increase the odds of reaching the end state I plan to take an iterative approach to development. Great Machine Learning features need a solid foundation to stand on. I plan on releasing Popinly in four stages.

Release One - The minimum viable product (MVP). At this stage, users will only be able to design basic menus and export them as PDF's. I'm choosing PDFs as the default format as they are portable and should be a familiar file type to all users. I need a strong user base creating menus to generate the dataset required to produce Machine Learning based features.

I aim to release the MVP before I start any further developments. Any developments beyond this could change drastically based on user feedback.

Release Two - New Formats and Styles. This update will expand on the types of formats and styles of menus Popinly produces. I enjoy seeing the menus of my favourite restaurants on Instagram. I plan to provide an option to export menus as PNGs styled for Instagram stories.

Release Three - Description Enhancer. By this point, I aim to have some users and hopefully will have a sizeable dataset. I'll need these inputs to produce this feature.