Fooda is an exemplary project built in partnership with Povio. The concept of Fooda was born when a Chicago-based company Echo developed a program that enabled local restaurants to deliver ordered meals for workers to enjoy them in their HQ.
Soon, the Fooda app started transforming the outdated corporate cafeteria model into a fantastic food marketplace. To this date, it continues to bring together employees, companies, and the best local restaurants in cities across the US.
Challenge
From a technical standpoint and given all the features of the product, developing Fooda was a technically sizeable challenge.
Establishing a point-of-sale system for selling meals in top-tier companies required the skills of the best engineers. From invoice management and card charging process to offline app features, building the complete suite for a mobile food pop-up financials was a project like no other.
Solution
The Fooda point-of-sale system consists of two separate, native iOS and Android apps, and runs on a Ruby on Rails back-end.
The front-end adapts to the user - be it a consumer that checks the app to browse favorite restaurants, order meals and receive notifications, or a restaurant or food vendor that uses the app to manage orders and collect payments.
What’s the trend?
Fooda is experiencing tremendous growth in terms of operations, market share, user base, and locations.
Fooda's in-house engineering team is laser-focused on delivering the best possible user experience to the existing user base and expanding the app's range of products.
Indeed, it’s tough to pivot the focus of such a well-coordinated team from supporting and upgrading the existing product to launching a brand new app.
And this is where Povio came in. We assembled an entirely new team to develop an app that would power Fooda’s next big thing - Fooda Pop-up events.
Fooda Pop-up
Fooda Pop-ups are unique events brought daily to your company's headquarters, where popular local restaurants set up stands and serve high-quality meals straight to the employees.
In today's tech and startup world, being a techie matches well with being a foodie. People care a lot about what they eat and the choice they have, and enjoying favorite meals at work can be the top perk for many employees.
Companies can make their team's breakfast and lunchtime more enjoyable since they cut the need to run around, look for options, and wait for the meal to be served. Instead, employees can indulge in healthy meals explicitly prepared for them and feel invested in.
Another benefit of bringing excellent food to the company's HQ is that teams that usually work together can sit down for a meal more often. Lunchtime thus becomes more relaxed with less running around.
To sum up, Fooda Pop-up events serve better dietary options, boost productivity, and build better teams.
Two apps for one purpose
Fooda brings together restaurants and workers during lunch breaks. Their marketplace is supported by two apps.
The first app is dedicated to workers looking for great meal options, while the second one is made for the restaurant staff that serves meals on-site during the Fooda Pop-ups.
Employees
APP FEATURES
- Browse through restaurants, check menus and business hours
- Order food in advance & check order status
- Get notified about newly listed restaurants
Restaurants
APP FEATURES
- Add items to one’s order
- Charge credit cards through a credit card reader
- Manage orders & refunds
Technology stack and architecture
Code shipping process
We think of ourselves as disciplined engineers who believe in modern, agile coding practices. For features, improvements, and bug fixes alike, we employ Jira. Each ticket contains a user story and acceptance criteria. We estimate and plan our workload using the Fibonacci number-based poker estimation methodology, a widely adopted agile discipline for evaluating engineering effort.
For every feature, we create a separate branch, and we reference it back to Jira tickets for the sake of clarity. We adopted a rule that requires every code change to include tests written in RSpec and frameworks alike. We make sure that the tests cover all the critical scenarios, and only once all those tests pass, we create a pull request for a peer review.
When it comes to code reviews, we make sure that at least two developers review the code. Code reviews are meant not only for assuring quality, correctness, and coherency of the coding style, but also for knowledge transfer and exchange of implementation ideas. Once a pull request is confirmed, we rebase the branch and merge it onto the master branch.
How we did it
First-hand insights from our engineers
Senior Ruby Engineer
To populate invoices with correct data for each billing party, we needed a flexible solution to translate somewhat nerdy bookkeeping entries into an invoice item. For that purpose, we devised an Arel query that results in SQL, precisely tailored to the invoice and depending on the invoiced party. We kept the data retrieval concise and avoided unnecessary code duplication, which resulted in highly expressive and maintainable code.
Senior iOS Lead
One of the most intriguing problems we faced was to ensure the users could complete their work in the app and sync data when their device is offline. We found quite a few issues hidden behind this app feature. So we invested a lot of thought into this and came up with a few approaches to solve this particular challenge. A part of the solution was to use exponential background job retry logic. We wanted to make sure we retry the data sync in an exponential rather than in linear time intervals and avoid congesting the network with redundant calls. Moreover, we also ensured that the data gets synced sooner or later.
Fooda stats
Quite amazing, don’t you think?
Fooda's total funding
From git to app store
No. of companies serving amazing food