Choosing a tech stack for our food app
For a long time, Kev Simpson and I have been discussing building a food app together. Over the years we’ve both worked on our own food-related projects of sorts and have finally decided to join up and work on this project together.
Kev Simpson, if you haven’t already guessed is my brother, he’s also a front-end developer but his skillset leans more towards the engineering side of things whereas mine leans more towards the design/UX side of things.
Not just another food blog
So why are we building this?
We’re designing and building this first and foremost for ourselves. It’s a product we intend to use weekly. We need somewhere that we can:
- Store all of our recipes
- Make it easy to find recipes to cook for the week
- An easily customisable shopping list
- A polished cooking experience
Once we have the core functionality built and enough content on the platform we plan on rolling it out for others to use – it might be invite-only initially but we’ll iron out those details later on.
Using a headless CMS is key for this project, we plan to push the same content to the app and the website but use it in different ways. I’ve used both DatoCMS and Prismic for projects in the past but we’ve decided to go with Prismic. The main reason is that DatoCMS’ pricing model is far steeper once you get off the free plan and we want to keep running costs low.
I’ve been building pattern libraries for around 5 years now so understand the need to have a component library to power the interface. Storybook is great because we can build it right into our Next.js project and have a living pattern library that powers the interface and not have it as a separate project.
Micro-interactions are becoming expected nowadays, plus it has some real benefits when it comes to the user experience and can reduce cognitive load for users when done right. So to help with that side of thing we’re giving Framer Motion a go (Kev has played around with v1 already and it’s pretty amazing). We plan to use Framer during the design phase to create the interactions which can then be used in production.
Stay tuned for more updates
I plan on posting updates of our progress as we design, build and launch this product every other week – so stay tuned for more updates.