I like to cook food, and I like to try out new recipes. I started with using Mealie to import recipes and help me prepare what I needed to make them, but I recently gave Nextcloud Cookbook a go as it would integrate with my already-existing Nextcloud instance. After all, it's built into Nextcloud's ecosystem and integrates seamlessly with your files — seems convenient enough, right? However, after spending some time with it, I switched back to Mealie and haven't looked back.

While Nextcloud Cookbook works, Mealie is just so much better. I can't recommend it enough for anyone who wants to self-host their own recipe tracker, and there's no reason that you can't host both at the same time.

User interface and experience

Mealie wins, hands down

Nextcloud Cookbook offers a perfectly functional yet admittedly basic user interface. It follows the Nextcloud design language, which works great for files but doesn't quite translate well to a recipe tracker. For example, tasks such as adding or editing recipes can feel unintuitive, and the overall user experience suffers. Navigating through categories, managing tags, and even simple tasks like image uploads feel unnecessarily complicated.

On the contrary, Mealie provides a polished and well-designed user interface that feels modern, intuitive, and user-friendly. Even something as simple as adding recipes, categorizing them, and browsing through your collection is a significantly better experience due to thoughtful design choices. Everything makes sense, which goes a long way when dealing with software that you want to interact with quickly while you're busy in the kitchen. You can focus more on what actually matters rather than getting confused by a UI.

Where Mealie truly shines is its recipe parsing, though. While it performs better than Nextcloud Cookbook when importing recipes, I endeavored to find out exactly why that was the case. And I found the answer.

Mealie's recipe parsing is significantly more sophisticated than Nextcloud's

Mealie has a much better technical implementation, though with some help

Recipe parsing is arguably one of the most important parts of any self-hosted cookbook. You wouldn't go through all of the trouble of setting it up if you didn't also want to import them from the web, right? Both Mealie and Nextcloud Cookbook support importing from a web page, but I found that Mealie's support was simply so much better. The reason, as it turns out, is how both of these applications parse webpages to import recipes in the first place.

In the case of Mealie, it uses this Recipe Scraper to support hundreds of websites. For example, there are defined parameters for hundreds of sites, as in the case of Just One Cookbook, which displays ingredients differently when compared to other sites. When it's stuck, there's a "brute force" option in the code that will attempt to look for things like units of measurement on the page. On top of that, there's a Natural Language Processing (NLP) method that will also try to identify recipes that are on websites that aren't supported. Finally, if it's really struggling, you can use your own ChatGPT API key so that HTML can be passed to ChatGPT, and it can return a JSON object containing the recipe data required.

In contrast, Nextcloud Cookbook is relatively primitive. It will look for the following tag in the webpage source:

script type="application/ld+json">"

If it finds it, it can then parse the JSON for the recipe instructions. Many cooking sites actually have a JSON object containing the recipe data in the page source, so this method works on a lot of websites. It has another method to fetch recipes when JSON detection fails: following schema.org templates for recipes. These are models built by a community that suggests a common standard for sharing structured data on the internet, and some recipe sites may follow these data structures.

That's not to say Nextcloud's approach is wrong, it's just different. Mealie is far ahead in this regard as its entire purpose is recipe tracking, whereas Nextcloud Cookbook is an add-on written primarily by a developer and PhD student at Saarland University by the name of Christian Wolf. To use Mealie's approach and pack in an already-existing set of parsers in Nextcloud would be a monumental task, as those existing parsers are written in Python, and Nextcloud's native apps are written in PHP and Vue.js. While it's possible to write apps for Nextcloud in other languages such as Python, Nextcloud Cookbook predates the creation of the ExApp API that enables this in Nextcloud.

If you're serious about recipe tracking, just use Mealie

It'll support basically everything

 
Credit:  

If you want to go all-in on recipe tracking, nothing beats Mealie in a self-hosted context. It's pretty much perfect and gets the job done, and it covers every single base when it comes to importing recipes from alternative sources. It also has a beautiful UI and unofficial apps that you can install on your smartphone to access it, whereas I found that the unofficial apps to access Nextcloud Cookbook lacked features.

If you're a bit more casual about your recipe tracking and you already use Nextcloud, though, then there's nothing wrong with Cookbook. It's fine for most services, and it's quite rare that I find it completely incapable of parsing at least some aspect of the page. If you don't care too much, you can even just manually input the data by copying and pasting it over, especially if you only want to save a handful of recipes.

They're different applications for different people, and while I'd wager that Mealie is better overall, you'll likely be happy with both. As someone who likes to cook a lot and track recipes, I've switched back to Mealie, and I don't think I'll ever go back. If you use Nextcloud a lot, though, then give Cookbook a try. You can install it from within the Nextcloud interface, so it's significantly easier to get started with, and you can deploy Mealie and configure it if you find yourself wanting something more.