A meal planning application that helps users select recipes, create weekly meal plans, and generate grocery lists. Now with support for importing Obsidian markdown recipes!
- Browse breakfast and dinner recipes
- Select recipes for a weekly meal plan
- Automatically create lunch meals from the previous day's dinner
- Generate a grocery list based on your meal plan
- Organize groceries by category for easier shopping
- NEW: Import recipes from Obsidian markdown files
- Place your Obsidian markdown recipe files in the
recipesdirectory - Run the import script:
./import-recipes.sh - Your recipes will be imported into the app's database
The importer supports various Obsidian markdown recipe formats:
---
title: Recipe Title
type: breakfast # or dinner, etc.
cuisine: American # or any cuisine
author: Your Name
serves: 4
rating: 5 # scale of 1-10
last: 2025-04-09 # date of last modification
content: "A brief description"
tags: [breakfast, quick, easy] # tags for categorization
ingredients:
- name: ingredient1
amount: 1 cup
category: produce # produce, dairy, proteins, pantry, other
- name: ingredient2
amount: 2 tablespoons
category: pantry
---The importer also supports Obsidian-specific markdown features:
- Obsidian References: References like
[[South Indian]]will be properly parsed - Ingredient Lists: Will parse ingredient details from the content section
- Content Extraction: Properly extracts sections and formatting from the markdown content
Example of an Obsidian-style recipe:
---
created: 2025-04-01
category:
- "[[Recipes]]"
author:
- "[[Your Name]]"
type:
- "[[South Indian]]"
serves: 4
ingredients:
- "[[Carrot]]"
- "[[Jaggery]]"
- "[[Salt]]"
tags:
- recipes
- dinner
---
## Ingredients
- 4 carrots – boiled
- Jaggery
- Salt
- Tamarind water
## Directions
### Step 1
- Boil the carrots in the [[Instapot]] for at least 4 minutes.
- Add them to a blender with water as appropriate, and make it a fine mixtureThe app will intelligently categorize your recipes as breakfast or dinner based on:
- Explicit
typefield in the frontmatter - Tags containing breakfast/dinner
- Content mentioning breakfast/dinner
- Cuisine field if it contains breakfast/dinner
The application uses a PostgreSQL database for data storage. Follow these steps to set up the database:
-
Push the schema to the database:
npm run db:push
This command will create the necessary tables in your PostgreSQL database.
-
Seed the database with initial recipes:
./scripts/seed.sh
This will populate the database with sample recipes.
To start the application in development mode:
npm run devThe application will be available at http://localhost:5000.
- feat: doordash order
- feat: grocery list units and consistency
- feat: show Pongal Tadka (recipe ingredients) as clickable, when I see recipe for Venn Pongal (only recipe)
- feat: track grocery lists, ingredients count?
- feat: users
- chore: make it much more mobile friendly
- feat: users can add recipes
- feat: sync obsidian (plugin, template)
- feat: track meal plans
- feat: simplify flow to show plan for next
mdays
- remove
foodand recipes on rendering within info page - remove rating