# Rerecipe

## Decomposing the Recipe Ecosystem
- Capture / entry
- Discovery / browsing
- Cooking
- Metadata / recipe representation
- Annotation?
- Sharing / editing / versioning
- Search by ingredients
- Embedding in other tools
# Rerecipe Principles
- Github for recipes: version controlled recipes plus collaboration
- Tools for collaborative cooking
- We all edit as we cook, changing ingredients, adjusting oven temps, cooling times, etc. This is just a way to formalize what we already do.
- Should empower ordinary cooks to be better at cooking
# MVP Features
- Add a new recipe
- Change a recipe you own
- View a recipe's history
- Make a copy of another's recipe for editing (fork)
- Offer suggestions on another's recipe (pull request)
# Changing A Recipe
- Every change creates a new branch (no changes on master)
- Each branch represents an "experiment" or a "modification"
- When it goes well,
- Either you keep it and overwrite the original. Call it "Improvement" (merge to master)
- Or you create a new "variation", a different way to prep the same recipe
- When it doesn't go well, you document why the "experiment" failed and (abandon the branch, but don't delete it)
# Recipe Data Model
belongs_to :user, Owner
:string Title
:text Description
**Version Controlled:**
:string yield
:text source_ingredients
:text preparation
## Datastores
- Might want to actually use Datomic to store the recipes! Could benefit from the "version-controlled" nation of it.
# Use Cases
This morning I made the Betty Crocker crepe recipe. I made two changes:
- Last time I made it, E said the crepes were too sweet, so I halved the sugar. They were just right this time. That branch would be considered an "improvement" and I would actually change the master recipe.
- I also tried adding a mini chocolate chips into the batter. That didn't work so well since crepes are so thin that the chocolate chips burned a bit. That would be an "experiment" that failed. I would document why on the branch and "close" it.
# Difficulties
- Ease of Use - the interface has to be SUPER intuitive and fast to create "experiments", make changes, initiate pull requests. All the language and concepts of git have to be translated, primarily for women.
- Data storage - I'm not sure using git on the backend is actually the right thing to do. Getting perfect version control, accurate diffs, etc, will be a challenge.
- Recipe import - How to get people's data in here in order to get started... Maybe start a CloudFactory-powered side business called "Recipe Scanner" that will automatically import people's recipes for a small fee.
# Monetization
- Private recipes. If the tools are valuable enough, professional chefs, restaraunts, and recipe book authors will pay to maintain their own private recipes on the site.
- Printed cookbooks? Allow recipe writers to make a cut?
- Job board like github?
- Recipe scanning? BigOven charges some small amount to have your scanned recipes automatically imported.
# Market Directions / Ideas
- Databases are getting github-ified: https://postgres.heroku.com/blog/past/2013/1/17/learn_from_your_data_with_dataclips_20/
- Versioned
- Share
- Fork
- Search
# Design Resources
- IA Article on Typography: http://informationarchitects.net/blog/100e2r/
- Gonna need a really nice typographic layout for viewing recipes
- http://37signals.com/svn/posts/3285-the-typography-and-layout-behind-the-new-signal-vs-noise-redesign
- Take a look at the SvN redesign
- Inspiring Food-related Layouts: http://designmodo.com/food-website-designs/
# Competitors
http://www.cucumbertown.com/
#simplenote #ideas