Servd is a smart cooking companion that turns pantry items into recipes, generates step-by-step instructions with AI, and lets users save, manage, and revisit their favorites. It combines a Next.js frontend with a Strapi backend and Clerk authentication.
- AI pantry scan from images and manual pantry entry
- Pantry-based recipe recommendations
- AI recipe generation with step-by-step instructions
- Recipe details with ingredients, cooking tips, and nutrition
- Save, unsave, and manage favorite recipes
- Recipe images fetched from Unsplash
- Pro plan gating for premium features (nutrition, unlimited AI)
- PDF recipe export
- Authentication and billing with Clerk
- Strapi-backed APIs for pantry items, recipes, and saved recipes
- Frontend: Next.js 16, React 19, Tailwind CSS, Base UI
- Backend: Strapi 5
- Auth/Billing: Clerk
- AI: Google Gemini API
- Media: Unsplash API
frontend/contains the Next.js app (App Router)backend/contains the Strapi API- The frontend calls the Strapi API for pantry, recipes, and user data
- AI generation is handled server-side in Next.js actions
cd frontend
npm install
cd ../backend
npm installCreate .env files in each app based on your setup.
Frontend (examples):
NEXT_PUBLIC_STRAPI_URLSTRAPI_API_TOKENCLERK_SECRET_KEYNEXT_PUBLIC_CLERK_PUBLISHABLE_KEYGEMINI_API_KEYUNSPLASH_ACCESS_KEY
Backend (examples):
DATABASE_URLAPP_KEYSAPI_TOKEN_SALTADMIN_JWT_SECRETJWT_SECRET
# frontend
cd frontend
npm run dev
# backend
cd backend
npm run developFrontend:
npm run devnpm run buildnpm run startnpm run lint
Backend:
npm run developnpm run buildnpm run startnpm run deploy
- Deploy the frontend to Vercel (project root:
frontend). - Deploy the backend to a Strapi-compatible host.
- Ensure all required environment variables are configured in production.
This project is provided as-is for educational and portfolio use.






