diff --git a/.claude/settings.local.json b/.claude/settings.local.json
index 9b87c9c..8e7c0ef 100644
--- a/.claude/settings.local.json
+++ b/.claude/settings.local.json
@@ -10,7 +10,9 @@
"Bash(ls)",
"Bash(node -e:*)",
"WebFetch(domain:thewoksoflife.com)",
- "WebFetch(domain:www.spendwithpennies.com)"
+ "WebFetch(domain:www.spendwithpennies.com)",
+ "WebFetch(domain:downshiftology.com)",
+ "WebFetch(domain:www.thekitchn.com)"
]
}
}
diff --git a/package-lock.json b/package-lock.json
index 4c81257..b5fbcbe 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1089,7 +1089,6 @@
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.13.tgz",
"integrity": "sha512-KkiJeU6VbYbUOp5ITMIc7kBfqlYkKA5KhEHVrGMmUUMt7NeaZg65ojdPk+FtNrBAOXNVM5QM72jnADjM+XVRAQ==",
"license": "MIT",
- "peer": true,
"dependencies": {
"csstype": "^3.2.2"
}
@@ -1155,7 +1154,6 @@
"integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@typescript-eslint/scope-manager": "8.54.0",
"@typescript-eslint/types": "8.54.0",
@@ -1660,7 +1658,6 @@
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"license": "MIT",
- "peer": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -2103,7 +2100,6 @@
}
],
"license": "MIT",
- "peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.9.0",
"caniuse-lite": "^1.0.30001759",
@@ -2864,7 +2860,6 @@
"deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
@@ -3034,7 +3029,6 @@
"integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@rtsao/scc": "^1.1.0",
"array-includes": "^3.1.9",
@@ -4608,7 +4602,6 @@
"resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz",
"integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
"license": "MIT",
- "peer": true,
"bin": {
"jiti": "bin/jiti.js"
}
@@ -6416,7 +6409,6 @@
}
],
"license": "MIT",
- "peer": true,
"dependencies": {
"nanoid": "^3.3.11",
"picocolors": "^1.1.1",
@@ -6621,7 +6613,6 @@
"resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz",
"integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==",
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -6631,7 +6622,6 @@
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz",
"integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==",
"license": "MIT",
- "peer": true,
"dependencies": {
"scheduler": "^0.27.0"
},
@@ -7563,7 +7553,6 @@
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz",
"integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@alloc/quick-lru": "^5.2.0",
"arg": "^5.0.2",
@@ -7690,7 +7679,6 @@
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=12"
},
@@ -7878,7 +7866,6 @@
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"dev": true,
"license": "Apache-2.0",
- "peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
diff --git a/public/recipes/african/shakshuka/assets/shakshuka.jpg b/public/recipes/african/shakshuka/assets/shakshuka.jpg
new file mode 100644
index 0000000..acf868d
Binary files /dev/null and b/public/recipes/african/shakshuka/assets/shakshuka.jpg differ
diff --git a/public/recipes/african/shakshuka/assets/shakshuka2.jpg b/public/recipes/african/shakshuka/assets/shakshuka2.jpg
new file mode 100644
index 0000000..cbe4dc7
Binary files /dev/null and b/public/recipes/african/shakshuka/assets/shakshuka2.jpg differ
diff --git a/public/recipes/african/shakshuka/shakshuka.mdx b/public/recipes/african/shakshuka/shakshuka.mdx
new file mode 100644
index 0000000..e8a9a2c
--- /dev/null
+++ b/public/recipes/african/shakshuka/shakshuka.mdx
@@ -0,0 +1,72 @@
+---
+title: "Shakshuka"
+slug: "shakshuka"
+date: "2026-03-18"
+lastUpdated: "2026-03-18"
+category: "african"
+tags: ["african"]
+cookTime: 30
+prepTime: 10
+servings: 4
+author: "jake"
+description: "Poached eggs in a spiced tomato and pepper sauce. A one-pan North African and Middle Eastern classic."
+featured: false
+display: true
+displayPhoto: "./assets/shakshuka2.jpg"
+---
+
+
+
+## Photos
+
+*Shakshuka*
+
+
+*Shakshuka (Glamour Shot)*
+
+## Ingredients
+### Sauce
+- 2 tablespoons olive oil
+- 3 medium tomatoes halved, and/or 1 tablespoon tomato paste and/or 1 can (28oz) crushed tomatoes
+- 1 medium yellow onion, diced
+- 1 red bell pepper, diced
+- 5 cloves garlic, minced
+- 1 teaspoon cumin
+- 1 teaspoon paprika
+- 1/4 teaspoon cayenne pepper (adjust to taste)
+- Salt and black pepper, to taste
+- 3–6 large eggs
+- Fresh parsley or cilantro, roughly chopped
+- 1/2 teaspoon sugar (optional)
+- 2 oz crumbled feta cheese (optional)
+- Crusty bread or pita, for serving
+
+## Instructions
+1. Heat **olive oil** in a large, deep skillet or Dutch oven over medium heat.
+2. Add the **onion** and **red bell pepper**. Cook, stirring occasionally, until softened and lightly golden, about 7–8 minutes.
+3. Halve the **tomatoes** and place them face side down in the pan. Cook, covered for 7-8 minutes until the skin on the tomatoes can be removed by tongs.
+4. Optionally, add the **tomato paste** and **crushed tomatoes** and cook for 1 minute.
+5. Smash the skinless tomatoes down as much as they can go. Cook for another few minutes while they start to break down.
+6. Add the **garlic**, **cumin**, **paprika**, **smoked paprika**, and **cayenne**. Stir and cook for 1–2 minutes until very fragrant.
+7. Season with **salt**, **pepper**, and a pinch of **sugar** if desired. Stir to combine.
+8. Reduce heat to medium-low and simmer uncovered for 10–15 minutes, stirring occasionally, until the sauce has thickened and the tomatoes have fully broken down.
+9. Use the back of a spoon to make 5–6 wells in the sauce. Carefully crack an **egg** or put a pinch of **mozzarella cheese** into each well.
+10. Cover the skillet and cook for 8–10 minutes, or until the egg whites are just set but the yolks are still runny. Check frequently — they go from underdone to overdone quickly.
+11. Remove from heat. Scatter **feta** (if using) and **fresh herbs** over the top.
+12. Serve directly from the pan with plenty of **crusty bread or pita** for scooping.
+
+## Notes
+### Egg Doneness
+- For runny yolks, cover and cook 7–8 minutes. For fully set yolks, cook 10–12 minutes. Start checking early — residual heat will continue cooking the eggs after you remove the lid.
+
+### Make It Ahead
+- Instead of the tomatoes/paste, tomato sauce can be made up to 5 days in advance and stored in the fridge. Reheat in the skillet and add the eggs fresh to order.
+
+### Variations
+- **Green shakshuka**: swap tomatoes for tomatillos and add spinach or chard.
+- **Spicier**: add a finely chopped jalapeño or a pinch of red pepper flakes with the onion.
+- Add a can of drained chickpeas to the sauce for extra protein.
+
+## References
+- Reference Recipe **[HERE](https://downshiftology.com/recipes/shakshuka/)**
+
diff --git a/public/recipes/chinese/fried-rice/assets/fried-rice.jpg b/public/recipes/chinese/fried-rice/assets/fried-rice.jpg
new file mode 100644
index 0000000..5bbe2cc
Binary files /dev/null and b/public/recipes/chinese/fried-rice/assets/fried-rice.jpg differ
diff --git a/public/recipes/chinese/fried-rice/fried-rice.mdx b/public/recipes/chinese/fried-rice/fried-rice.mdx
new file mode 100644
index 0000000..4c6aa38
--- /dev/null
+++ b/public/recipes/chinese/fried-rice/fried-rice.mdx
@@ -0,0 +1,60 @@
+---
+title: "Fried Rice"
+slug: "fried-rice"
+date: "2026-03-18"
+lastUpdated: "2026-03-18"
+category: "chinese"
+tags: ["chinese", "rice"]
+cookTime: 15
+prepTime: 15
+servings: 6
+author: "jake"
+description: "Classic fried rice with scrambled egg, soy sauce, and sesame oil. Best made with day-old rice."
+featured: false
+display: true
+displayPhoto: "./assets/fried-rice.jpg"
+---
+
+
+
+## Photos
+
+*Fried Rice*
+
+## Ingredients
+- 3 cups cooked long-grain white rice, day-old or cooled (about 1 cup dry)
+- 3 tablespoons neutral oil
+- 3 large eggs, beaten
+- 1 cup frozen peas and carrots, or other vegetables
+- 4 green onions, thinly
+- 4 cloves garlic, minced
+- 2 tablespoons soy sauce
+- 1 tablespoon oyster sauce
+- 1 teaspoon sesame oil
+- Salt and white pepper, to taste
+
+## Instructions
+1. Break up the **cold rice** with your hands or a fork so there are no large clumps.
+2. Heat a wok or large skillet over high heat until very hot. Add 1 tablespoon **oil** and swirl to coat.
+3. Add your vegetables to the wok and stir fry for 1-2 minutes until heated through.
+4. Add another teaspoon of **oil** and add the **rice** to the wok. Let it sit to develop color and texture. Then stir fry, tossing everything together.
+5. Drizzle with **soy sauce** and **oyster sauce** and toss to coat evenly.
+6. Clear a center in the middle of the rice, and put the rest of the oil in. Add your beaten **eggs** and cook them completely through.
+7. Fold the eggs in and break up any larger pieces. Drizzle with **sesame oil**, season with **salt and white pepper**, and toss once more.
+8. Garnish with the rest of the **green onions** and serve immediately.
+
+## Notes
+### Day-Old Rice
+- Freshly cooked rice has too much moisture and will steam instead of fry. Spread cooked rice on a sheet pan and refrigerate uncovered overnight for best results.
+
+### High Heat
+- A screaming hot wok is essential. Cook in batches if your burner isn't very powerful — crowding the pan drops the temperature and causes steaming.
+
+### Customize
+- Add diced chicken, shrimp, or tofu in step 4 before the vegetables.
+- A splash of rice wine or Shaoxing wine added with the soy sauce adds depth.
+- Substitute frozen corn, edamame, or diced bell pepper for the peas and carrots.
+
+## References
+- Reference Recipe **[HERE](https://www.thekitchn.com/fried-rice-recipe-23652991)**
+