Building Culro: A Journey Through AI-Powered Recipe Generation

Published on: 12/12/2024

Artificial intelligence continues to transform everyday human tasks in innovative ways. This is the story of our journey developing an AI-powered recipe generation app - from initial idea to development and validation.

The observation that started it

A friend told us about how he uses ChatGP to create recipes with the ingredients in his fridge. While most LLM use cases focus on knowledge work and content creation like SEO. We found this use quite intriguing and saw an opportunity to explore if this technology could be applied to an (arguably) tedious everyday task: cooking.

Where to start?

Transforming this serendipitous observation into a viable venture requires rigorous validation. At a high level, two key questions need to be addressed:

  • Can large language models generate recipes that meet consumer standards and expectations?
  • Is deciding what to cook a genuine pain point for consumers, and most importantly, would they be willing to pay for AI-generated recipes?

With Culro, we have primarily focused on answering the first question, while also gathering preliminary insights into the second.

Starting without code

At Blendr Labs, our development philosophy revolves around rapid validation cycles, each designed to test specific hypotheses about our technologies viability. The first experiment was deceptively simple, and did not require any code. Can ChatGPT create satisfactory recipes? We evaluated this in a straightforward week-long experiment: generating a recipe, and having it for dinner. The results were surprising: six out of seven meals were good enough, with several exceeding our expectations.

We eat with our eyes

During this one week experience, we encountered an unexpected challenge. How could we know if our finished dishes matched were even remotely similar to the intended one? Typically recipes include appetizing photos that often drive the initial selection - after all, we eat with our eyes first. However, large language models produced text-only recipes, lacking this crucial visual component. This observation led us to explore stable diffusion models for food image generation. This led us to our second question: can stable diffusion models generate compelling recipe images?

We developed a recipe generation pipeline: an LLM generates a recipe, list of ingredients, and a detailed visual description, which is fed into a stable diffusion model to create four image candidates. After analyzing 100 recipe-image sets against photos of similar recipes found on Google, we concluded that 60% met our quality standards.

What product are we building?

Now that we have validated the core technologies required - recipe generation and image creation - what exactly is "this product"? Since ChatGPT already allowed for text-based recipe generation, we saw no need to replicate this exact workflow. We envisioned a more focussed solution; targeting the meal kit market's underserved segments. Our hypothesis was that solving the "what's for dinner?" dilemma could provide significant value, even without ingredient delivery. As this would be consumer-facing, we chose to build an iOS app; focussed on college students and young professionals for whom traditional meal kit services might be out of reach.

But even with this focus, there are numerous ways to market a product like this. We considered two. A pragmatic "meal planning", and a more adventurous "discover new recipes" angle. Ultimately, we landed on a nuanced blend of both:

Discovering new tastes and cuisines creates moments of pure joy - we have all experienced that thrill of tasting unfamiliar dishes while traveling. Yet we can not jet off to a new country every week. That is where Culro comes in: we bring that culinary adventure right to your kitchen. Each week, we recommend three personalized recipes.

Note that this decision was made to enable continued prototyping. A better approach would involve testing various ad campaigns and using engagement metrics to determine the most promising direction.

Conceptualising Culro

We now shift our focus to the app design, at this stage the only meaningful validation can only come from consumer interaction. Talking to potential users to identify what they want is commonly accepted as a best practice. While conventional wisdom advocates talking to potential users about their needs, Steve Jobs notably countered this with his insight: "people don't know what they want until you show it to them." Our approach bridges these perspectives: be creative and build something small that we can show users. That is the moment where we actually start walking to figure out what they want. We began by brainstorming about features we believed would resonate:

  • Recipe Page: Displays ingredients and instructions.
  • Roadmap Page: Generates weekly recipe suggestions.
  • Recipe Swipe Page: Allows users to swipe through recipes Tinder-style.
  • Explorer Page: Enables users to browse recipes.
  • Favorites Page: Lets users save their favorite recipes.

To minimize complexity, we focused on building just two features: the Recipe Page and Roadmap Page, alongside basic functionality like registration and login.

Early Culro design mockup 1
Early Culro design mockup 2
Early Culro design mockup 3

The Tech Stack Dilemma

Our technical decisions prioritized validation speed over scalability. Since we decided on building an iOS app; SwiftUI was the obvious choice. For the backend we leveraged Supabase, which has integrated authentication, storage, and a database. For tracking we implemented Mixpanel, allowing us to track user behaviour and measure success. Finally, instead of building a complex, real-time recipe generation pipeline, we pre-generated 100 recipes with corresponding images, manually curating the best results. This approach allows us to focus on validating core features before investing in complex infrastructure.

Do consumers become users?

Our success metrics were the user registration rate and user retention rate, . We ran an initial marketing experiment on social media with a modest €10 investment, reaching ~5,000 users and achieving a 1% conversion rate (50 installs) - which is not great compared to a 3.8% industry average. Mixpanel revealed even more concerning retention patterns: only 10 users returned a week after installation. So, what now?

MetricValueIndustry Average
Conversion Rate1% (50 installs)3.8%
Retention Rate (1 week)20%N/A

Is swiping the way to go?

Further analysis showed that none of the users viewed all 100 recipes, so the retention was not related to a lack of content. The suggested recipes also matched with the preferences users had provided, so no luck there either. We were also convinced that the quality of the content was sufficient enough, after all we had tried the recipes ourselves. This leaves us with two options, either consumers do not need recipe recommendations; which we found unlikely, or the delivery mechanism of suggesting new recipes every week was not satisfactory. Given the state of the internet with fast content, and short attention spans we decided to give the Recipe Swiping feature a shot. The concept; swipe through recipes like dates.

Second Culro design mockup 1
Second Culro design mockup 2
Second Culro design mockup 3

Apparently we like to Swipe

Having this new approach, we ran another marketing experiment. This time the numbers looked more promising; with a €10 investment, we again reached ~5,000 users but achieved a 3% conversion rate (150 installs). Furthermore, this time users stayed along longer; roughly 30% of users came for a period of 3 weeks (this was usually when the had exhausted all available recipes).

MetricValueIndustry Average
Conversion Rate3% (150 installs)3.8%
Retention Rate (3 weeks)30%N/A

Conclusion

After roughly three months of part-time work (~200 hours), we decided to conclude this venture. By breaking up the idea into small components and systematically evaluating each we hope to have inspired you to adapt a similar style of working. Even though this experiment was run on an extremely small sample, and we can not draw any significant conclusions from the collected data, it shows how iterating on ideas and experimenting with the newest technology can quickly convert an abstract idea into a (un)validated prototype; helping you to make the decision to invest or continue looking for better ideas.

Ps. Culro is still available in the app store, while not actively maintained; feel free to give it a shot (it might not work anymore).