Try it out!

Inspiration

Ratatouille (movie) was a nostalgic childhood memory that left a deep impression on us with its elaborate lessons. We were taught that perseverance was key, even if the true motivator was a tiny rat sitting on your head piloting you like a mech;

We may not be good cooks but I believe we can cook up paragraphs of spaghetti code when we put the effort in. Using a disastrous combination of both web technologies and AI.

What it does

The app takes the personality of Anton Ego (the food critic from the film Ratatouille). When a photo of food is uploaded, the food is classified and a review is generated.

How we built it

In order to challenge ourselves we decided to write this as an entirely frontend app to push what we can achieve using only the browser. It does call any external web apis either.

The app is programmed in Typescript using React. The image is uploaded to the website and then a pre-trained tensorflow model (Mobilenet - which runs entirely in the browser) classifies the image and then a review is generated. If the object is determined to be food it’s rated good or bad based on Ego's preferences and then a review is written. Otherwise Ego expresses his disgust that you didn’t serve him food.

Challenges we ran into

Bradley was quite new to typescript and react, only having dabbled a few times in the past. Many intellisense errors had caused confusion and wasted time but he had learnt to just ignore them, for better or worse.

One of our attempted implementations for food quality analysis was to convert uploaded images into basic shapes and apply algorithms to judge quality, although this may have been quite an inefficient approach. It was deemed too difficult as it was out of both our areas of expertise and would’ve taken too much time. Although we’d never used AI before we managed to change direction and get it working. Since the model runs in the browser it's not entirely accurate all of the time which is an unfortunate tradeoff.

Addings the gifs was surprisingly tricky, it turned out the best way to do it is to embed mp4s rather than actually using gifs. This also reduced the app footprint and improved page loading speeds.

As always, the domain was fiddly to get working - did I configure it wrong or has the DNS just not propagated yet? Luckily it works now.

Accomplishments that we're proud of

The app runs entirely in the browser and so is quite responsive and fast. We’re proud of the design and that the app is responsive to all screen sizes. We’re happy that it works and we achieved almost everything we wanted.

What we learned

Just how much can be accomplished entirely in the browser. We also learned a lot about Anton Ego from combing through the film and his quotes. Truly inspirational.

What's next for Ego

The program will be installed in restaurants to determine whether the food is worth serving. We believe it’ll appear on Hell’s kitchen (tv series) and in a multitude of Gordon Ramsay’s Michelin star restaurants.

Built With

Share this project:

Updates