Joshua Tabakhoff

Case Study: Building TeamCook app in a week

2020-05-08 – 3 minutes

Often I hear people saying that prototyping an idea should be done in days or so, else it's bullshit. I don't agree because it doesn't make sense. This is just nurturing the startup myth of overnight success and blocking many people from actually taking their chances. It's almost the first time I prototype in 8 days and the only bullshit I see here is the technical debt created and the excessive fatigue.

Context

The idea can be summed up as Kitchen Stories meets Houseparty.

I remember a late night ideation we got with friends after college where we threw ideas at first and then focused on what topics we know so that we can be relevant in this field. On this night, I pitched an idea that is a by-product of an older product idea I've had.

Basically, TeamCook (caught the joke here?) is just about cooking in real-time with a friend or a group of friends. One of them is the chef showing how to follow the recipe's steps (or you can all be experimenting). At that time, we were not so excited by the idea but with quarantine, we just got a momentum. When lockdown started, a friend started every day to send us video of her cooking something different and teaching us how to do the same and so I thought: what if I revive this app idea?

Why?

There are many reasons for building TeamCook. The first one is obviously to focus my mind every day during lockdown because going roughly from 1 to 0 in a day was a huge punch in the face. Another one is to master react-native and make sure the template I made is adaptive. This also allowed me to learn more about WebRTC and it's always useful to master new technology as it pushes back our capacities. And well, it's always a good idea to keep learning, it's good for our brain!

Last part is that it forced me to start cooking and experiment.

How?

When I start working on a new idea, it's good to do some researches and look for similar apps on App Store, Product Hunt, GitHub... The aim is to simplify your tasks, look for different approaches and improve our UX/UI.

I've looked for existing repo, libraries, documentations, etc. Then I wrote a list of basic features required: authentication, friendship, recipes database and live videoroom.

By cross-checking needs and research data, I've been able to gain a lot of time where I'd usually have wasted hours coding useless and overdone things.

Once these steps were done, I was able to fork my react-native template, remove the unnecessary parts and start adding UI and features. The tech stack is react-native for the app, Firebase for authentication and Node.js server for backend with Socket.io. I also had to find recipes index, which was already done thanks to prior research.

teamcook-mockups-720p.png Mockups of TeamCook running on an iPhone

Recipes are picked accordingly to your phone local language in a specific index, both in French or in English (as the fallback language).

Quickly, I added in that order: authentication, friendship system (search user and friend request), recipes (search and details) and then video WebRTC.

Problems

What's missing now to be a real production-ready app is a true design, push notifications and socket permissions.

WebRTC has been a real challenger here. I've been reading dozens of papers, documentations, tutorials and existing code to make it work.

Now what?

Good question! The prototype is now sleeping on my computer and on my phone. I'm not sure if it's going to be released anytime soon as I'm taking a break from the maker universe. Maybe the app is going to be open-sourced, maybe it's going to be changed to adapt to the main app idea I have for years now. We'll see 🤷‍♂️


Thanks for reading, please reach me on Twitter or by mail if you have any feedback!