Skip to content

Cheffy

Made by Codependents

Your Favourite Cooking Companion

Have you ever tried cooking and scrolling through a recipe on your device with your hands full and grubby fingers? We’ve all been there. That’s why we created Cheffy, a hands-free cooking companion designed to make life in the kitchen easier. Cheffy’s voice recognition feature lets you navigate your favourite recipes hands-free. Just speak to move between steps, and let text-to-speech read them out to you. That means you can focus on your cooking, not your screen. There is even a built-in timer to make sure you don’t under or overcook your meals. No more burnt pans! In addition, Cheffy includes a recipe creator that enables you to write and personalise your own recipes, a favourite list where you can keep all your go-to recipes in one place, a shopping list to help you plan your food shop, and a filter function that gives you only the recipes that suit your dietary needs.

The Team

Bryony Doherty

Bryony Doherty

I’m a full-stack developer in training who loves solving

problems with code and finding creative, artistic ways to bring ideas to life. I enjoy working across front-end and back-end, especially on projects where logic, design, and user experience all come together.

Sara Librenjak

Sara Librenjak

I used to work as a university lecturer in Linguistics, and

I have been a Japanese teacher for 10 years before deciding to break into tech. I got interested in software development after working on my PhD and writing algorithms I wasn’t able to code. I hope to bring together my love for languages, problem-solving and research through software development.

Oliver Long

Oliver Long

I worked as an SEO content writer for 10 years. Several of

my roles were in tech companies, where I began taking an interest in software development, which led me to pursue it more deeply with Northcoders. I believe the user-first mindset from my marketing background translates well into the empathetic thinking a software developer needs.

Vanit Kashab

Vanit Kashab

I’m a 29-year-old career changer pursuing my passion for

software development. With a growing skill set in coding and problem-solving, I’m transitioning into tech to build meaningful, high-impact solutions. Outside of programming, I’m a car enthusiast who loves racing, staying active in the gym, and continuously learning new technologies.

Marc Krum

Marc Krum

Computers have always intrigued me. I have pursued my

passion and got jobs in tech. I had to immigrate and decided to integrate with the local industry practices through Northcoders. I’m a relentless continuous learner, have experience in software and hardware, stay determined to grow and succeed no matter what.

Nick Ratnarajah

Nick Ratnarajah

I’m a former professional athlete and spent 2 years working

for the British Government. I left to launch my own business but as a non-tech founder in the tech space, I quickly realised the need to develop my skills in the space. I’ve experience as a product owner, and now as a coder, so I work particularly well in cross-disciplinary functions.

Tech Stack

Tech Stack for this group

We used Backend: Express, PostgreSQL, Jest, Supertest, dotenv, cors Frontend: React Native, React Navigation, Expo, AsyncStorage, Expo AV, Expo Speech, React Native UI Lib, Axios For the backend, we used the same technologies we learned during the backend phase of the bootcamp, because we saw this as the perfect opportunity to apply that knowledge. Since we needed access to native device features like voice recognition, text-to-speech, and local storage, we chose React Native as our frontend framework. It enabled us to build a cross-platform mobile app using JavaScript, making it a natural fit with our skills. We used Expo to simplify setup and development, especially when working with native modules like Expo AV and Expo Speech for audio playback and voice capabilities. React Navigation provided a robust solution for managing navigation within the app, whilst AsyncStorage offered local data persistence, which we needed for features like favourites and shopping lists. To create a consistent user interface, we chose React Native UI Lib. Finally, we used Axios to handle API requests between the frontend and backend.

Challenges Faced

One of the first challenges we encountered was sourcing recipe data. Initially, we considered using an existing API, but most options either lacked step-by-step instructions (which were essential for our hands-free Cooking Mode), or came with paywalls or restricted access. In the end, we decided to build our own API from scratch, to give ourselves full control over the structure and data. On the frontend, whilst it was fairly straightforward to find libraries that supported iOS, Android and web, making sure that they worked consistently across platforms was a different story. Features that ran smoothly on one device would sometimes crash or behave unpredictably on another. This required constant cross-platform testing and tight collaboration within the team to identify and resolve issues, which took place alongside development of new features. During the build, we decided to add components to enhance the user experience that weren’t available in the UI library, so we custom-built them from the ground up, which added to the complexity but gave us better flexibility in the design. On top of everything else, we were working with new technologies, which unsurprisingly came its challenges. Despite this, through teamwork, we were able to overcome these hurdles and deliver a fully functional app.

FAQs

How did you manage team communication?

We held daily standups, with each team member taking turn to facilitate. Each standup covered what we had accomplished the previous day, our goals for the day, and any potential blockers. This kept everyone aligned and accountable. Throughout the day, we maintained close communication on our team Slack channel, where we shared progress, raised issues, and collaborated in real-time to solve problems.

How did you deploy the backend?

We hosted our database on Supabase, and our backend API is deployed on Render.

How did you manage version control?

We followed a collaborative Git workflow. We put in place a system where every commit was shared in our Slack channel and required peer review by a teammate who worked on the same area of the codebase before merging. This approach helped us catch potential issues early and keep our main branches consistent.