β οΈ Note: This is a free-tier deployment. If you encounter any error while using the app, please reload the page β it usually resolves the issue instantly (often caused by cold starts on free hosting tiers).
Cookify is a full-stack, AI-powered recipe platform that solves a problem everyone faces β "What do I cook with what I already have?"
Snap a photo of your pantry or fridge, and Cookify's AI instantly identifies your ingredients and generates personalized recipe suggestions with match percentages. Explore thousands of recipes across 37 world cuisines and 14 categories, generate detailed AI recipes for any dish, save your favorites, and download them as PDFs β all in one clean, modern platform.
This isn't just a wrapper around a chatbot. Cookify is a production-ready application with real authentication, a persistent database, bot protection, rate limiting, and a freemium subscription model β built to demonstrate real-world full-stack engineering.
π± Best Experience: For the full experience β especially the AI Pantry Scan with camera β open Cookify on your smartphone/mobile browser. Desktop works too, but mobile lets you use the live camera to scan ingredients directly.
- πΈ AI Pantry Scanning β Take a photo of your ingredients, Gemini AI identifies them instantly
- π§βπ³ AI Recipe Suggestions β Get personalized recipe recommendations based on what's in your pantry, with match percentage scoring
- π Explore World Cuisines β Browse recipes across 37 countries with flag-based navigation
- π½οΈ Browse by Category β 14 categories from breakfast to dessert, seafood to vegan
- π€ Generate Any Recipe β Type any dish name and get a complete AI-generated recipe with ingredients, step-by-step instructions, and nutrition info
- π Digital Cookbook β Save your favorite recipes and access them anytime
- π PDF Export β Download any recipe as a clean, printable PDF
- π Secure Authentication β Sign up/sign in powered by Clerk
- π‘οΈ Enterprise-Grade Security β Bot protection and rate limiting via Arcjet
- π³ Freemium Model β Free tier with usage limits, Pro tier with unlimited access + premium features (nutrition analysis, chef tips, substitutions)
- Next.js β React framework with App Router & Server Actions
- Tailwind CSS β Utility-first CSS framework
- ShadcnUI β Accessible, customizable UI components
- Lucide React β Icon library
- React PDF β PDF generation
- Sonner β Toast notifications
- Google Gemini API β Ingredient recognition & recipe generation
- TheMealDB β Recipe database for cuisine/category browsing
- Unsplash API β Dynamic food imagery
- Clerk β Authentication, session management & billing
- Arcjet β Bot protection, shield & rate limiting
- Vercel β Frontend hosting
- Strapi Cloud β Backend hosting
βββββββββββββββββββββββββββββββββββββββββββββββ
β USER (Browser) β
βββββββββββββββββββββ¬ββββββββββββββββββββββββββββ
β
βββββββββββββββββββββΌββββββββββββββββββββββββββββ
β NEXT.JS FRONTEND (Vercel) β
β App Router Β· Server Actions Β· ShadcnUI β
βββββββ¬ββββββββββββββ¬ββββββββββββββ¬ββββββββββββββ
β β β
βββββββΌββββββ βββββββΌββββββ βββββββΌββββββββββ
β STRAPI β β GEMINI β β EXTERNAL β
β CMS β β AI β β APIs β
βββββββ¬ββββββ βββββββββββββ β TheMealDB β
β β Unsplash β
βββββββΌββββββ β Clerk β
β NEON β β Arcjet β
βPostgreSQL β βββββββββββββββββ
βββββββββββββ
Cookify/
βββ frontend/
β βββ actions/ # Server Actions (mealdb, pantry, recipe)
β βββ app/
β β βββ (auth)/ # Sign in / Sign up (Clerk)
β β βββ (main)/ # Dashboard, Pantry, Recipes
β βββ components/ # Reusable UI components
β βββ hooks/ # Custom hooks (use-fetch)
β βββ lib/ # Arcjet, Clerk helpers, utils
β βββ proxy.js # Auth & security middleware
β
βββ backend/ # Strapi CMS
βββ config/ # Database, server, plugin config
βββ src/api/ # Content types (recipes, pantry, users)
βββ database/ # Migrations
- Node.js v18+
- npm or yarn
- Accounts for: NEON, Clerk, Google AI Studio, Unsplash, Arcjet
1. Clone the repository
git clone https://github.com/soham-88/Cookify---AI-Recipes-Platform.git
cd Cookify---AI-Recipes-Platform2. Setup the Backend (Strapi)
cd backend
npm installCreate a .env file in backend/:
HOST=0.0.0.0
PORT=1337
APP_KEYS=key1,key2,key3,key4
API_TOKEN_SALT=your_api_token_salt
ADMIN_JWT_SECRET=your_admin_jwt_secret
TRANSFER_TOKEN_SALT=your_transfer_token_salt
JWT_SECRET=your_jwt_secret
DATABASE_CLIENT=postgres
DATABASE_URL=your_neon_postgresql_connection_stringStart Strapi:
npm run developStrapi admin will be available at http://localhost:1337/admin
3. Setup the Frontend
cd ../frontend
npm installCreate a .env.local file in frontend/:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_STRAPI_URL=http://localhost:1337
STRAPI_API_TOKEN=your_strapi_api_token
GEMINI_API_KEY=your_gemini_api_key
UNSPLASH_ACCESS_KEY=your_unsplash_access_key
NEXT_PUBLIC_ARCJET_KEY=your_arcjet_keyStart the frontend:
npm run dev4. Open the app
Visit http://localhost:3000 π
| Feature | Free | Pro |
|---|---|---|
| Pantry Scans | 10/month | Unlimited |
| AI Meal Recommendations | 5/month | Unlimited |
| Recipe Generation | Standard | Unlimited |
| Nutrition Info | β | β |
| Chef's Tips & Tricks | β | β |
| Ingredient Substitutions | β | β |
| PDF Download | β | β |
| Price | $0 | $1/month |
- Meal planning with weekly calendar
- Auto-generated shopping lists from missing ingredients
- Dietary restriction filters (vegan, gluten-free, keto)
- Recipe ratings & reviews
- Dark mode
- Mobile app (React Native)
- Social recipe sharing
- TheMealDB free tier has inconsistent cuisine naming (handled via fallback resolution)
- Gemini API free tier limited to 1,500 requests/day
- Unsplash API free tier limited to 50 requests/hour
- Billing currently in test/development mode via Clerk
Soham Pawar
- GitHub: @soham-88
- LinkedIn: Add your link
Distributed under the MIT License. See LICENSE for more information.
- TheMealDB for the recipe database
- Google Gemini for AI capabilities
- Unsplash for beautiful food imagery
- Clerk for seamless authentication
- Arcjet for security infrastructure
β If you found this project interesting, consider giving it a star!