At Povio Labs we specialize in delivering products to the market fast. We work side by side with companies and their founders that graduated from the startup world in terms of market share and operations scale (but certainly not culture) and are moving towards the mainstream adoption.
Fooda is an exemplary partnership with Povio. Fooda grew out of an idea that was born when a company Echo in Chicago developed a programme where local restaurants brought the adored dishes to the employees to their HQ. Soon, Fooda was born, transforming the outdated corporate cafeteria model into an amazing food marketplace that brings together employees, companies, and great local restaurants in cities across the US.
From a technical standpoint and given all the aspects of the product, Fooda was a technical masterpiece challenge. Architecting a point of sale system that is used for selling meals in top tier companies requires only the best. From managing the invoices, card charging process and offline features, the complete suite for a mobile food popup financials is a product like no other.
Fooda point of sale system consists of two different native iOS and Android apps and a Ruby on Rails backend. Frontend depends on the user persona, either being a company employee that has a chance to use the app to check visiting restaurants, order meals and get notifications, to merchants that can manage and charge credit cards.
What’s going on
Fooda is experiencing tremendous growth in terms of operations, market share, user base and locations. Fooda’s engineering team is laser focused on delivering the best possible user experience to their existing user base and their existing line of products.
It’s really hard to pivot away such a well functioning team from supporting and developing an existing product line, to launch a new app. This is where Povio Labs came in with a solution. We formed an entirely new team to deliver the app that’s going to power Fooda’s next big thing - Fooda pop up events.
Fooda pop-up: this is a unique event brought daily to your company's HQ, where your favourite local restaurants set up a small shop and serve high quality and popular food directly to the employees.
In today’s tech scene, being a techie and being a foodie is surprisingly correlated,since people care a lot about the food they eat, bringing everybody's favorite food items to the office can be the top perk in minds of many employees.
As a company, you make people’s mornings and lunchtime easier since they don’t have to run around and hunt down stuff to eat. Folks that work in such companies, put healthy meals in their bodies and feel invested in.
Another side effect of bringing great food to the company's HQ is that teams that usually work together can sit down for food more often, since lunchtime becomes easier with less running around.
Drawing the line: Fooda impacts productivity, makes people happier, healthier, and builds better teams.
The two apps
Fooda brings together restaurants and employees. This marketplace is supported by 2 apps.
One for employees and one for the restaurant crew that comes on site.
Technology stack and architecture
Process of shipping code
We consider ourselves as disciplined engineers and believe in modern agile coding practices. For features, improvements and bugfixes alike we use Jira. Each ticket contains a user story and acceptance criteria. We estimate and plan our workload using the aforementioned Fibonacci number based estimation poker methodology, which is a widely adopted agile discipline for estimating engineering effort.
For every feature, we create a separate branch and we reference that back to Jira tickets for the sake of clarity. We adopted a rule where every code change is required to include tests written in RSpec and frameworks alike. We make sure that the tests cover all the important scenarios and only once those tests all pass, a pull request is created for a peer review.
When it comes to code reviews we make sure that at least two developers review the code. Code reviews are there not only for quality assurance, correctness, and coherency of the coding style but also for knowledge transfer and exchange of implementation ideas. Once a pull request is approved we rebase the branch and merge it into master.
Handpicked 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 exactly tailored to the invoice depending on the invoice party. We kept the data retrieval concise and avoided unnecessary code duplication, resulting in expressive and maintainable code.
Senior iOS Lead
One of the most interesting problems we solved was how to ensure our users can still complete their work using our app and sync data when their device is offline. There are quite a few issues hidden behind this product requirement.We invested a lot of thought into this and came up with a few approaches that solved this particular challenge. Part of the solution was to use exponential background job retry logic. Making sure we retry the data sync in exponential instead of linear time intervals and avoid congesting the network with redundant calls. Alongside we also ensured that the data gets synced up sooner or later.
Quite amazing. Right?
Fooda's total funding
From git to app store
No. of companies serving amazing food