The 404's

StayFresh Demo Video

StayFresh Demo Video

Your penny saving grocery companion

StayFresh is an app that makes managing food expiration dates a breeze, preventing any food waste and saving money. It allows users to track their grocery items, get timely reminders, and explore recipe ideas for soon-to-expire items. Its ideal for budget-conscious individuals.

Stay Fresh guarantees savings while minimizing food waste. The app was inspired by our own experience struggling to make use of everything we buy and the current cost of living crisis. After some research we discovered that the UK thows away 9.5 Million tons of food every year so we felt like this app would be a great way to help combat this.

The Team

  • Team member imagePreview: Team member image

    Drew Anderson

  • Team member imagePreview: Team member image

    Emran Islam

  • Team member imagePreview: Team member image

    Abubakar Abubakar

  • Team member imagePreview: Team member image

    Neil Danner

  • Team member imagePreview: Team member image

    Ziaur Rahman


Technologies section imagePreview: Technologies section image

We used: Front End - React Native, Expo Go, Axios, TypeScript, Tailwind/Nativewind Back End - Node.js, Postgresql, Express, Typescript, Firebase Auth, Open AI, Google Cloud Vision OCR, JEST Testing, AXIOS, Edmame Recipe API Other - Git, Github, VS Code

We chose React Native as we knew this application would be best suited to a mobile application for best user experience.

ExpoGo allowed us to do real time testing on the application in an easy way collaborate across the team.

We chose Typescript to utilise our existing Javascript knowledge but get the benefit of additional type syntax to speed up our development and errors.

We used Google Cloud Vision as we found it was the most compatible OCR technology with React Native and Expo. Plus it was highly accurate at detecting text from image files.

We choose Postgresql and express for our back end as our data model suited a relational database and we had familiarity with the technology already but using typescript allowed us to continue to learn.

We used Open AI as it is a large language model which gave very consistent results based on prompts to identify food ingredients, prices and suggested expiry dates.

Challenges Faced

One initial challenge we all faced was using Typescript, coming from a Javascript background we were not used to type errors and often we were unsure if errors were due to the new language or something completely different.

Finding a suitable OCR technology to work with React Native took a substantial amount of time and a lot of trial and error.

We also found it a difficult at the start of the project to narrow down the tech stack we should use due to the vast amount of different technologies available and knowing what would be best suited to our application.

The prompt engineering for Open AI was also a challenge to create the best prompt which would give consistent and accurate results. It took many iterations to get it right.

Working together as a group and building a real app gave us a glimpse of what’s it like to work in real life scenario. We all thoroughly enjoyed the project week and found it extremely helpful to consolidate all of our knowledge together.


  • What makes StayFresh different from other food management apps?

    StayFresh is specifically designed to allow users to scan their receipt after, This unique functionality enables users to quickly and easily track their grocery items by simply scanning their shopping receipt after purchase. This method is significantly more convenient than the manual entry or individual barcode scanning as required by other apps.

  • Does StayFresh work on both iOS and Android?

    Yes, StayFresh is compatible for iOS and Android.

  • Can I trust the expiry dates given to me from the AI?

    StayFresh uses AI to give suggested expiry dates on specific items. However it is important to note that these are only recommendation based common product shelf life and are intended as a starting point. Stayfresh allows any user to edit and confirm any of the any of the infromation that is scanned and provided by the AI, giving users more autonomy over their grocery tracking.

  • Can I share my grocery list with family members or roommates?

    StayFresh allows for user accounts to have specify their home account which can later be accessed by any members of the home.

  • How does StayFresh help in saving money?

    By minimising food waste through timely reminders and suggesting recipes for soon to expire items, StayFresh ensure you make the most out of groceries, thereby saving money that would otherwise be spent on replacing food that is thrown away.