Introducing
Bentofy
I founded Bentofy in my spare time to make it easier for home cooks and busy professionals to organise, plan, and share meals in a simple and beautiful way. This is a story of how I created the app, wearing multiple hats, and navigating a steep learning curve
“What’s for dinner?”
“What’s for dinner?”. Honestly such a simple question couldn’t be more difficult to answer after a busy day at work. What you eat is after all what you are. Combining my internal passion for cooking, my expertise in tracking and planning software, and a desire to build and learn more about app development, I started to create Bentofy with a few motivation in mind:
Start with something small and achievable
I wanted to solve a problem close to the people around me, in this case my wife and my family.
I deliberately chose the problem space to be small enough to achieve but meaningful and relatable to what I care about
Go beyond my comfort zone and experience
I wanted to tinker with Mobile and consumer products as opposed to B2B enterprise SaaS.
The learning curve for building an app was too high, so I never took the leap even though I really wanted to build something impactful
Experience E2E of developing a product
I wanted to understand the entire product lifecycle from end to end.
I enjoy venturing outside of Design to Engineering, Product, and Marketing instead of sticking within my own area.
Gathering the ingredients
Everything started from an observation that my wife is facing with planning meals in advance. Like many others, we felt the pressure of rising cost of living and decided to dine out less and cook more at home. Originally we started with just post it notes on the fridge situation and it worked okay. However, over time it became hard to remember what to cook and who’s cooking on which day. This prompted me to reach out to even more like-minded people around my network to identify the problems:
Lack of planning. It’s hard to know what to cook and who’s cooking on which day
Tools sprawl. Hard to keep updated between analog (post it notes, whiteboard) and digital (Notion and Google Keep are cited as the most common ones)
Variety. Eating tasty, cheap, and healthy is harder as people struggle to think of variety.
From here, I started to create to map out the common journeys and problems that arises that each step to identify the biggest pain points. Momentum was really important as a solo founder, so I frequently found myself jumping in between the journey and the vision to navigate between the abstract and reality.
Below are a couple of fun sketches and lofi mockup to show the process. Fun fact: Bentofy originally started as “Menuboard” (until I realise the domain name is no longer available).
This eventually became Bentofy with a little guerilla user testing within the circle of my network. Coming up with a brand and distribution is a crucial part of a startup’s development. Exploring different names a lot of brainstorming, thinking, sketching, and checking back and forth on available domain names while also gauging potential users sentiment. Eventually Bentofy was chosen and I had to rename all the coding infrastructure which has previously been set up with “Menuboard” in mind!
User tasting all the menus
Rapid prototyping is a key part to validate the idea pretty early on. In all honesty this is done in various fidelity, from Figma to even starting it in parallel on code. The idea is to simply be able to identify, imagine, and execute as fast as possible to learn what works and what doesn’t. I spoke to roughly 20 people after work and in weekends. The variety of people I talk to was a lot more diverse than I initially expected, which is a refreshing change from my day-to-day work. This ranges from those who needs to cook together in a share housing situation, couples who divvy up grocery tasks with military precision, to someone who needs a FODMAP diet and are keeping a food diary as part of their consultation with a nutritionist.
✅ Most valuable: Schedule view
The original hypothesis repeatedly gets positive feedback at the early stages. The weekly planner (schedule view) really helps people visualise what to have for the current and following week.
Most people plan on the go with their phones, especially in the groceries when couples typically divvy the work
Even if “Instant delivery” is valuable, a lot of people who WFH still enjoys strolling through the groceries
“Blank calendar” problem is real. Sometimes getting stuck because no inspiration on what to make.
⚠️ Insights: Suprisingly confronting
On the flipside, I was really excited to understand health data for personalisation. The belief is by understanding your eating habits, you would take more actions to adjust your eating patterns. However, the findings point to the other direction:
While really useful, some data can be overwhelming and confronting to know (if I eat out more than cooking at home, I feel bad about myself)
Health data is extremely personal and requires a lot of privacy protection for users to feel safe about seeing their own health information by an unknown app.
Decided to descope as it also requires a lot of backend requirement and not as valuable as once thought (at least not for now)
Mise en place: Journey to components
I then started to revisit the end to end journey and continuously refined the original journey map that I initially created. This helps to clarify the thinking and architecture behind the app, so it was a win:win when it comes to design and engineering side. As a product, it’s starting to come together when you can see the scope clearly and areas that need more work.
Compartmentalisation and reusability immediately become apparent once the lay of the land is mapped out in a map like this. Suddenly you realise the edit and create experience should be two sides of the same coin. The multiple iteration of branding and color usage also can start to be tokenised. Cards should also mutate based on the form factor and elevation level. Organically, the need for design components quickly arises to save time and effort recreating screens. The result is a comprehensive library of components that I can quickly cobble up and recreate in React component.
Code it till you make it
I’ll be the very first to admit that the journey to creating this app is anything but linear. The research, journey map, components, screens are all created in parallel, where you have to bounce between different areas and keep building momentum.
The hardest and most exciting area is definitely the actual building and coding for me. Even though we live in an age where information is at our fingertips, the hardest part is knowing what to ask in the first place. I started only with HTML, CSS, vanilla Javascript as a starting point so it wasn’t totally from 0. However, picking up and transitioning to React was still a huge leap in my head in the beginning, let alone understanding backend services and implementing Cloud Functions.
So the approach was to break it down to the smallest problems and learn as much as I can from the holy trinity combination of Youtube, StackOverflow, and ChatGPT. This started from just trying to set up the environment (boy that was painful!) and getting a single button to appear on the screen. Naturally it extended to common patterns like navigation and form components. There is something really satisfying with seeing the screens organically getting created at the speed at which I’m designing.
The biggest learning was actually rewiring how I learn. I naturally learn through visuals and actions (by doing). However, with coding, you have to understand in terms of logic and a sequence of flow, passing data up and down the chain from one component to another. Initially it was difficult, but after I zoomed out and realise how the system works (in terms of how the front end talks to the back end and vice versa), the reusability of the systems (components, patterns, CRUD actions), it comes more of a matter of syntax, repetition, and trial and error.
The whole process really helps me to have a much deeper appreciation for what software engineers do and go through. And coding is just a small part of it. I also got my hands dirty on analytics, performance, build, deployment, and managing the code packages. As a slight note, AI has been really instrumental in helping me to understanding the core logic and boilerplate template. However, it struggles with understanding context and seems to have gotten lazier over time (making assumptions and truncating parts that are needed the most). Last but definitely not least, I also consulted a few experts at work and my high school best friend on how to best architect the app, fix pesky bugs, while also knowing what to even ask the AI.
The other side of coding is actually to monitor how the progress gets done. It’s super helpful to be able to organise, plan, and track the work (even if just by yourself) to find out what to work on next. I set this up in Jira Work Management, which is also a product that I work on, giving a first hand dogfooding experience.
The most important thing here is it allows me to prioritise what to work on next and also to upload demo videos for each task so that I (and maybe even future teammates) know what the task was all about. It helps me to think like a PM and ruthlessly prioritise for ideas that are most users use most of the time.
Unboxing Bentofy
The result of this learning and crafting process finally culminated in a web app and iOS app that helps home cooks to organise and plan their meals with ease. Even when my wife and I have been dogfooding the earlier versions for a couple of months, it feels really satisfying to be able to launch the official version to the public and the App Store. Here’s a montage of the experience to help you get a better idea of the scope and capabilities of the app:
The Grand Opening
Little did I know that building a product is only half the battle (or perhaps even less). Working in a big tech company, I often take distribution advantage for granted and underestimated how much it can make or break the success of a product. Nevertheless, it doesn’t mean that we don’t try. What matters is what we can make of the things that we have in our disposal. From posting in LinkedIn, Reddit, Instagram, and pretty much any social media channel I can grab ahold of, there are some signs of positive traction. At some point, Bentofy reaches #17 in the Food & Drink chart in the Apple store (just behind Domino’s) when it first launched.
The Takeaway
This is probably the passion project that I’ll still talk about for the years to come. Hopefully when I come back to read this page, I’ll feel a sense of pride of accomplishing what I set out to achieve, while also the humility from shipping an embarrassing first MVP that was cobbled up together in spaghetti code. Nonetheless, the impact is something that is meaningful, and I truly hope that I can continue to work on this in the future and make it into something even bigger.
🚀 Launched an app
Web and iOS App Store available to users. Achieved #17 in “Food and drinks” category
🤯 Invaluable learning
Developed a much deeper appreciation of design, engineering and product constraints
📈 Growing traction
26.6% conversion rate.
3.6 engaged session per user, average 32 mins / user.
Finally, if you cook a lot and likes to plan your meals ahead, consider trying it out and leaving me feedback to improve Bentofy in the future. Thank you for reading through this case study!