158 comments

[ 10.1 ms ] story [ 3162 ms ] thread
If anyone wants to know the stack it's Django/Postgres on the backend, and an Elm SPA frontend. All data goes through an undocumented REST API.
Nice work!

Are you using mptt or treebeard under the hood to manage the forking?

Nope. It's a pretty simple relation to express without external libraries, so I figured I'd keep the granular control and just do foreign keys. Easier to refactor schema or migrate data that way.
Nice project!

If you need more data, check out this:

https://github.com/dpapathanasiou/recipebook

I've also enabled it to talk to this via TOTP, if you ever decide to switch to/want to enable mongo as your recipe doc store:

https://github.com/dpapathanasiou/ARMS

Good luck with it, and keep us posted!

Thanks, but we have our own importer. BTW, I'd suggest writing a metadata fallback in your library. You'd be surprised how many sites will work just on parsing json linked data or schema.org's Recipe format.

Good luck!

This looks promising and fairly well done, but it's lacking a few critical features IMO. The first obvious one is a way to Diff a recipe and it's Forks (unless I missed that).

The harder and maybe more important one, is an issue that GitHub itself still hasn't figured out how to solve either. There should be a process for a fork of a recipe being able to explain why it is better than the original, and have the fork be able to be voted on so that the 'best' fork as voted by the most users becomes the canonical 'Chicken Noodle Soup' recipe, or at least display the forks on main recipe ranked by popularity.

Yeah, it's on the list of things to do. Once there are enough recipes/users it will also be useful to see the history/ancestry of recipe. There are already a few that are forks of forks. All the recipe data is immutable and versioned, so that will happen at some point.
A++ would love to see the diff feature :)
My first thought was to remove "Vegan Butter" from the chicken recipe (or move it into a "Dietary Substitutions"), but then I realized my forked recipe would probably just be lost in the void. Maybe the goal of forks should be more akin to pull requests?
Seems that "Dietary Substitutions" could be a first-class data type. It would be a named multi-map of one item to another one. So you could create you own "Dietary Substitution Map" named "Nut allergies" or "Halal" or "Vegan", with butter -> canola oil, milk -> soy milk, milk -> almond milk, etc.

Then you could pick the particular substitution map that you care about and avoid forking recipes unnecessarily and have most recipes support most diet types if the proper map exists.

Interesting idea. I can think of a few ways it would get complicated pretty quickly, but it's probably 90% doable without too much effort.
> There should be a process for a fork of a recipe being able to explain why it is better than the original, and have the fork be able to be voted on

That'd be a nice edition to GitHub's forks page. Over there star count might be the best proxy.

I though the README.md and project stars was there for that precise reason. Am I wrong ?
On source repos, you're right. On forked repos, people often don't change the readme, and to see star repo counts of forks requires opening each repo individually.
> There should be a process for a fork of a recipe being able to explain why it is better than the original, and have the fork be able to be voted on so that the 'best' fork as voted by the most users becomes the canonical 'Chicken Noodle Soup' recipe, or at least display the forks on main recipe ranked by popularity.

A combination of popularity and the ability to choose to merge changes back into the original seems sufficient.

(comment deleted)
Interesting idea... Phrase "fork a recipe" just got a new meaning.
Might be worth user testing some different ways of saying "fork" in case the people who cook aren't the same as people who code.

One to try might be "Remix" and "Remixes"?

"Adapt", "modify", "tweak", "personalise", ...?

Is forking really good for recipes, do you want to automate inclusion of upstream changes, surely not?

How are you doing volume to weight conversions? Do you have a big table of weights-by-volume for different ingredients?
Yeah, densities and fuzzy matching. It'll get more intelligent eventually, but does a pretty good job on common ingredients at the moment.
It'd be good if you could customise what kinds of foods should be displayed in what measurements.

E.g. I'm seeing 1 cup of steamed rice - being British I have no idea what that means. I turn metric on and it tells me 237 milliliters of rice, whereas I would be expecting grams. I'm pretty sure measuring solids by volume is a US-only thing.

neat idea!

A weird piece of feedback: Something about the UI gives me a substantial feeling of loneliness.

This cracks me up. At the same time, it sounds like it's something that should be taken seriously. Thanks for the feedback.
I can see that.

But I prefer the pinboard-esque design to a flashier one.

It's utilitarian and snappy - just the way my grandma made 'em.

I don't think it's loneliness -- I think it's a stark contrast to most of the other major recipe collection sites out there that are visually cluttered.

I think that's a refreshing change for this type of site; You may want to consider a means of allowing users to curate and discuss recipes on sub-domains, some kind of API or some other means of splitting it up? A kind of crisp, clean social platform for food prep ....

Yeah, there's a whole concept of how it may work for collaboration that has yet to be implemented. Thanks for the feedback.
I don't seek more flashiness or colors. I actually appreciate the simplicity.

Thoughts on what the feeling could be rooted in:

I Think it would help with more than 3 recipes on the front page. That gives a feeling of emptiness that can be confused with loneliness.

I also think there could be a better choice of image cropping. One that does the trick of making them all one size, but that also lets me see the food and thus inspires me.

Agreed. It looks very good, but there needs to be some play with how items flow on the page and a little more contrast.

Some of the white areas can be filled in with some nice text on how to use the product or ideas of what to do next?

This is mainly on the home/list pages. The page for the recipes looks pretty balanced

That's a good way to describe it. Something about it feels empty.

I think the most obvious is the tiny sliver of a picture on each card. It feels like I'm looking though a key hole.

Besides that, the website is great!

Nice!

It is clear you put a lot of care into this, and I am sure there is a bucket full of features you want to get to, but I have a big request.

What I really want is one step beyond a place to store recipes. I want a meal planning site! I want to create a pool of recipes that we like, and plug in how often this week we will eat at home. Then outcomes a grocery list and a plan for each day. Maybe it even sees what we have liked, and suggested new recipes to add to the pool.

I am this close to pulling the trigger on PlateJoy, but my biggest hurdle is I can't add recipes I _know_ we like to their list of experimental (to us) meals.

Really, I don't mind/enjoy cooking, but never seem to carve the time out to plan an entire family of four's meals a week in advance.

already in the works :)
Great! Do you plan on open-sourcing? Anyway for me to help, even if it's feedback?
Always happy to have feedback! The initial version will be rolled out in the coming weeks. Since it's a major product addition, there'll be some sort of announcement. So either sign up and you'll get a wonderful mass email notification soon. Or circle back in a few weeks.

Some aspects of the site are open sourced:

https://gitlab.com/keithasaurus/simple_html -- basically a port of Elm Html to Python to address what I perceive to be flaws of template rendering.

https://bitbucket.org/cinckitchen/kunits -- just a unit library I wrote. It's central to the site's scaling, etc.

That's a practice that will continue. But the full source will likely not be made public.

Hey I'm also working on this (separate from OP). In the meantime you might check out https://www.eatthismuch.com/.
This looks like exactly the kind of thing I've been searching for; thank you for the recommendation.
Thanks for the mention - I started ETM with a similar goal in mind. We have a "personalize this recipe" function that's functionally similar to forking, but we never expanded on it much. We're planning to improve the social and browsing features eventually, but have some other priorities to get to first.

Also, cinc looks really nice - awesome work OP

I forgot about ETM! Thanks for creating it. Just logged back in and there was a friendly note about the new features (really good idea!). FYI there's one bug on the page:

Thanks for reading, and have a great day!

{{ TEAM_NAMES }}

The Eat This Much team

I've given ETM a go for a year (I was a paid member) but the ingredients were very hard to find in Germany so I gave up in the end.
Maybe an ingredients.json instead of a package.json, sub versions with quantities, and then this becomes a constraint solver!
Check out https://www.copymethat.com/ - has a great recipe import system, meal planning system complete with a shopping list generator, great view of the recipe while you're making it, it's been awesome for us.
Seeing metric units written out feels kinda odd.

Otherwise very nice idea :)

Looks good!

The mix of Sans-Serif and Serif is a little weird.

AMAZING idea.

Please allow me to G+ connect or facebook connect, b/c I don't want to have yet another password to remember, and I'd like to (maybe?) share some activity on Cinc with my FB peeps.

Just a thought.

Nice site! I look forward to using it in the future. One thing - when using lastpass to generate a password, it fails to fill the first password and only fills the "repeat" portion. Likewise, it fails to fill the username field for login.
Yeah, I have this problem with Mac's keychain on Safari as well. I haven't had the time to fix yet, but it's helpful to hear the same from someone else. Thanks.
I'm working on a project and having a API for recipes would be great. I see there is a mention on your ToS but I don't see where you could access it?
It's undocumented, but feel free to check out the calls in your browser's debugger. There's no guarantee of API stability or token permanence at this point. So integrations are not advised yet.
this is a crazy fast site! can you share what you are using to host and serve it?
AWS/nginx on a fairly minimal instance. speed probably comes from:

- it's an SPA, so it's mostly just doing API calls.

- the database is designed to be fast at a few orders of magnitude of size beyond its current state

- everything is gzipped

And no ads, unlike pretty much every other free site with recipes!
This is a great idea!

My one criticism right off the bat is the name -- the pronunciation isn't immediately obvious. ("Sink?", "Kink?", "Kins?", "Since?")

Then again, I don't know if that's just me...

I read it as "sink" like the ci in circle.
It's meant to be a pun for "kitchen sink," and also to work with the notion of "sync"-ing. It's pronounced like "sink." Cinc is the number 5 in Catalan and refers to the amount of senses we use when cooking.
I retract my criticism then! Also, it seems I should have read the About page. Might I suggest adding it to the top navigation? I think some further explanation/self promotion (especially as you've written it) is warranted.

edit: Also should have known. "Cinq" is five in French as well.

(comment deleted)
Looks like a more complex version of what I had created with imadefood over a year ago. Similar features, with the branching, etc. I've been working on an iteration into a slightly different direction. As it didn't pick up any steam. Good luck :)

As others have stated below, forkthecookbook, forkingrecipes, and also recipelabs. All do basically the same thing. I just don't think there is enough market for it. Certainly was a fun little project though!

https://news.ycombinator.com/item?id=10853665

Looks like a 502 error on the site. Is it still up? I'd be interested to see your approach if possible.
Took it down to concentrate on other work, though I'd be open to discussion. hello@imadefood.com
Looks great! I'm inclined to host my recipes there.

But before I do that, what is the future for this site?

* Do you monetize by getting a cut from the shopping cart? * Will I be able to easily download my data in the future, like I do with git repositories?

I built it primarily for myself. It's able to run on cheap hardware and is very lightweight, so I plan to keep it up indefinitely at minimal cost. I haven't begun looking into funding/monetization, but that may happen soon. All data is already available via the API, so at some point, there will be a "Download my data" feature.
this is a great idea. How many times have you looked at reviews on recipes.com or whatever and the first 10 include a half dozen substitutions, basically making a different end product entirely? each of those reviews could instead be a fork. awesome!
The idea for this has been around for a for a while. http://forkthecookbook.com/ goes back to 2012.

And its an interesting idea. Recipes can't be copyrighted and and recipes are generally derivative. The data is generally well structured, and fairly standardized (ingredients, equipment, instructions, photo, with optional fields for prep & cook time, servings, notes, difficulty, etc). But there are two primary issues:

1. Recipes don't really have a single inheritance. For example, I cook a lot & really enjoying cooking, but when I'm trying to make something new, I won't follow a recipe. I will read a bunch recipes, and try to understand the underlying ideas & steal the ones I think are interesting, then implement my own. So say I look up Tufo Matar find 3 recipes the make my own, if I want to contribute which recipe do I fork?

2. This may have been dealt with by the use of stars. when I was using forkthecookbook, there was no way of "bookmarking" recipes and the so users forked them, which lead to the results having huge number of identical forks. That being said it seems like the star system may resolve that. But currently it looks as though unmodified copies of the recipes still appear in the Forks list, which makes it harder to find benifical changes. Also it would be nice to have a history section with a message summarizing what changed.

All that said this does look nice.

Additionally, a nice feature to have would be to "import" a recipe, though since phrasing of a recipe is protected this gets a little bit legally complicated.

Thanks for the great feedback.

Yeah, the version history, etc will have a UI at some point. You're also right that needs to be some sort of indication for the diff between forks. We'll get there. People haven't been going crazy with forks yet (turns out if you post to hacker news, that changes :), so that will be worked on.

There is an importer already! It's not perfect, but it works with most recipe sites.

Thanks for pointing out forkthecookbook.com. I hadn't seen that, and it's definitely relevant.

Oh cool I missed that. It looks like a fun project. I will definitely join and try to contribute some. Is there a better means of reporting bugs than the the contact us email form?
hello, FtC author here... it's mainly a zombie project now (you know, dead, but still has active users)
i like some of the ui ideas on your site. nice work.
I tried this FtC before this one and really liked the idea. Did you ever do any write ups about making this project or the launch?
Hey chewxy. I think I talked to you about FtC for a while when it came out(irc maybe?). Good to see you again.
Yeah, it's interesting how many people have had the same idea at some point or another. I was fiddling around with Rails and AWS for a bit around 4 years ago and used the same idea for a tiny project. It's a bit like deja vu. https://github.com/ehotinger/OldCode/tree/master/VariantChef
A lot of us have tried this idea, me included two years ago. It seems like a logical idea, but there really isn't enough people looking for it.
I'm a huge fan of the fact this does weight conversions (cooking by weight is now my favourite, and I've been looking for a site that is just weights, so this looks like a win to me :-) ).

One note I'd make, though, is that US, UK and Australian cups are all different sizes. (and possibly others?)

And from the one recipe I saw it looks like you're using UK cups? But, possibly not as well... Either way, it might be worth calling that out, or allowing for cup-type specification similar to how you do for weights?

Somewhat related, some sites call out egg weights too, and that might be something to try and do here too? (Because, if nothing else, egg weights are often written on the carton which acts as a guide; even if people don't actually weigh them.)

Another thought, again... Some kind of showcasing? A la Github's explore, or even "awesome" pages? I might be off, but to me discovery is really important for recipes and I love browsing "cookies" or "desserts in a hurry" or similar; and pages akin to that with community curation could be nice?

Hmm, another random idea... Some kind of more granular forking to facilitate things like "do you have a stand mixer?" and that kind of distinction? (Coupled with "equipment switches" maybe?) In the past I've done recipes that required something I didn't have, and I've had to tweak fairly aggressively to make it work, but when/if it did work, maybe adding that feedback into the recipe would be valuable? e.g. user ticks "don't have a dehydrator", and recipe tweaks to "use your oven and set it low", etc.

Anyway... It looks awesome! Keep doing what you're doing, and I'll use it :-) Just some random thoughts that came to mind :-)

> Somewhat related, some sites call out egg weights too, and that might be something to try and do here too?

Some technical recipe books I've used just specify the weight of total egg. Not that useful for a home cook though.

For that matter, I'm curious what egg size descriptions is like in other countries; in Australian shops they're like condom sizes - I haven't seen 'small' or 'medium' eggs for over a decade.

Well it depends on what you're cooking, if you make an omelette it's not a big deal if you have too much egg, but if you make say a chocolate fondant than the size of the egg is very important to get the correct texture.
We have small / medium / large here in Ireland. I'd bet they're the same size as your xl / xxl / magnum eggs though
In Germany, they are "S", "M", "L", "XL"; although I've seen "S" only once, ever.
Size S is usually sold to be processed and not to end-consumers. If you really want to buy them you probably have most luck in organic food supermarkets (unless you need a few europallets of them).
Love that you can convert the measurements to preferred units (such as metric).

I second Bruce's comment about cup sizes being regional. So are teaspoons and tablespoons for that matter. The wikipedia pages do reasonable coverage on this.

So good to clearly indicate which region's measurements are being used.

Always been a frustration of mine when reading recipes as having to figure out what country the recipe is published in to figure out what the measurements actually are. (Unless they are in metric, which is unambiguous.)

I was under the impression that the Imperial (UK) measures were mostly no longer used. Is that wrong?
Not sure on that, but there are more regions than just the US and UK. For instance, here in Australia a teaspoon[1] is 15ml, not 14.92ml, and a tablespoon[2] equals four teaspoons, not three, so 20ml, not 14.8ml.

[1] https://en.wikipedia.org/wiki/Teaspoon#United_States_customa...

[2] https://en.wikipedia.org/wiki/Tablespoon#Traditional_definit...

Currently living in the UK, perhaps 90% of the recipe books and equipment I currently have in my house are Imperial.

Definitely do value that as an option.

Recipes are an area that is quite hard to shift to metric because often recipes are handed down from previous generations. Simplistic conversions are easy, but will often create slight problems in the recipe - eggs, 'spoon based measures, etc., break the rounding that goes on in moving between measure systems.

Cookware passed down too could help to promulgate Imperial measures, we have a heap of tins that are inch-based measures. They're small effects but they add up.

In fact a country selector would allow not just measures to be adapted but also the ingredients (eg. in some countries dry-yeast is a lot harder to find than the regular kind). Cuts of meat are different too and you often have to resort to Wikipedia's language options to see what a tenderloin cut (say) is in your own language. Finally you could have alternatives with which you could swap out any missing ingredients.
(comment deleted)
Very well done!

I had started on a similar idea a while back, but never got around to it. Even have a cute domain for it (pifork.com) in case you're interested :)

So I'm trying to submit my cheesy toast recipe as a test. Unfortunately, I can't:

- "1 slice" (of bread) is not a valid quantity

- "to taste" (of black pepper) is not a valid quantity

Oh well. I guess I won't be using this then, at least not yet.

those can be handled:

1 | slice bread

(blank) | black pepper, to taste

Some aspects of the UI/UX still need work.

Thanks for the feedback.

I tried both of those; still complained about an invalid quantity.
This looks great! Congrats on shipping!!

I like that you have a scaling feature. => https://www.cinc.kitchen/info/features

I know this may be too much to ask, but if you are taking requests, some basic nutritional info (ex: Protein content, avg. calories) might make it even more awesome for those of us tracking daily calories, protein (for atheletes etc). I understand things like sodium, fat might vary depending on how much salt or oil the person cooking the recipe uses, so maybe this might not be feasible to implement...

Good idea... Formatted to look like a standard nutrition label would be a nice touch
Viewing source made me sad. One would think that recipes of all things would survive the appification of the web.
An analog to Travis CI for this would be interesting and delicious.

An analog to Docker images would be something like Blue Apron or Hellofresh I guess.

>An analog to Travis CI for this would be interesting and delicious.

Surprised it is not a startup yet..