TraySaver 2025
Introduction
TraySaver is digital tool to help redistribute meals between different hospital wards. It lets nurses input unused meals into a database, where other wards can see and reserve meals they need. This redistribution will reduce food waste.
Goal
Hospitals create tons of food waste yearly. Even one ward can create almost a ton of food waste in half a year, corresponding to almost 20,000€. The goal of this project was to identify the bottleneck that cause food waste and find solutions for them.
Causes of food waste
Our team identified two distinct bottlenecks for food waste. The first bottleneck was ordering and cancelling meals, which was slow and cumbersome process. This was not something we could solve without implementing with pre-existing tools. The other was the redistribution of meals. There was no process for this outside of individual wards, so unused meals were wasted.
We created two different solutions for these bottlenecks. For the food redistribution we created TraySaver, a digital solution that allows nurses to input meals from their ward for other wards to reserve and use. For the solutions out of our influence, we created a consultation report, that goes into depth on both bottlenecks.
TraySaver
TraySaver is a digital tool that allows nurses to input meals to a database. The database holds information about the meal's consistency, size, special diets and the time of serving, as well as the ward that meal belongs to. Multiple meals can also be added at once, if there are multiple trays with the same meal specifications. Nurses can then use TraySaver to see different wards and their added meals. The meals can be filtered by consistency, size, special diet or time of serving, if particular type of meal is needed. The wards can also be favorited. This helps mark, for example, the closest wards, and keep them at the top of the list for ease of use.
Used technologies:
Client - React Native with Expo - NativeWind v4 for styling (Tailwind CSS for React Native) - React Query for data fetching - Custom UI component library - Zod for form validation
Server - Express.js - PostgreSQL with Drizzle ORM - RESTful API
DevOps - Docker containerization - GitHub Actions for CI/CD - Fly.io deployment - Automatic APK builds for Android