I'm currently working on a data structure for ingredients which significantly improves on the current flat list. It should be able to address plural duplicates / locale duplicates / and hierarchy. 4) is a good idea.
The thing I struggle with for pictures is where to put them, but I'll play around with some options. Maybe they can be behind a toggle.
You should start considering the author more, cooks you like will probably sell recipes to a variety of publishers and any given publisher's quality is likely to vary wildly at any kind of scale.
It is configured to use static content caching and server-side rendering without using separate Nodejs stack. This is achieved by pre-building the React app and then injecting it to the Django App. This way any static content helping the SEO can be rendered on the server-side. Only dynamic content will be loaded by the client-side scripts.
1) Clean up the plural duplicates, e.g. peanut/peanuts, leek/leeks, carrot/carrots, etc.
2) I've never considered the author, is that common?
3) Mode to toggle pictures on would help scanning, cooking is very visual
4) Not simple to design, but some way to have either/or ingredients (e.g. peanuts OR cashews) could be useful