Every world, cookbooks have the same problem. They're self-hosted, they're split across different groups of players, and they're inconsistent with each other.
They also miss a lot. Prepared foods like black truffle, white truffle and black pepper usually never make it in, because most clients throw that data out before they send anything.
The bigger issue is that cookbooks are tightly coupled. The front end and the back end are the same project, hosted by the same person. So when someone stops hosting, we don't just lose the website, we lose all the data behind it too. That has happened to this community over and over.
Then there's setup. Having every user paste in a token and a URL is clunky, and it's a barrier to collecting data for no real reason. I wanted it public so anyone can contribute without doing that.
And the data itself was often inconsistent, especially around truffles and pepper, so I wanted to start collecting those properly as well.
So how do we fix this?
Something similar to the Albion Data Project. One shared place the data lives, that anyone can read from or write to.
1. The front end and back end are completely separate. That's the main design principle. The back end is an API that only collects and shares data. The front end is just a webpage that displays it. You can build your own front end instead, or pull the data into a cookbook you already have.
If someone stops hosting a front end, the data is still there.
2. Tokens are handled by code, not by users. There's a dev page client developers can follow to integrate it, and that integration means users never have to paste a token anywhere.
3. The endpoint and payload changed slightly. I tried to stay compatible with the old cookbook format, but that format is what caused the calculation problems with spices. Clients now send the raw values and don't do any calculation themselves. That makes it simple to get consistent data out of every client.
The cookbook
cookbook.kittenrider.com
For developers
Documentation is here. It covers how to implement it in your client, and how to use the API if you'd rather build your own front end on the data.

