Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
Stop wondering what to cook. Generate recipes and shopping lists instantly.
Translation pending
LifestyleTypeScript · PLpgSQLGitHub @kgreer0210OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Mise AI - Your Personal AI Chef
Mise AI is a modern SaaS application that solves the eternal "What's for dinner?" problem. By leveraging Artificial Intelligence, it generates custom recipes based on user cravings, organizes them into a weekly meal plan, and automatically generates consolidated grocery lists.
This project is built as a highly scalable, production-ready Next.js application, featuring robust authentication, database management, and AI integration.Read the full README ↗Mise AI is a modern SaaS application that solves the eternal "What's for dinner?" problem. By leveraging Artificial Intelligence, it generates custom recipes based on user cravings, organizes them into a weekly meal plan, and automatically generates consolidated grocery lists.
This project is built as a highly scalable, production-ready Next.js application, featuring robust authentication, database management, and AI integration.
The application uses the Next.js 16 App Router.
RecipeGenerator (form state, animations), WeeklyMeals (drag-and-drop), and GroceryList.Zustand is used for global client state that needs to persist across navigation but doesn't necessarily need an immediate database write (like the current generated recipe being viewed or transient UI states).The "backend" is implemented using Next.js API Routes (src/app/api/) which act as a secure proxy between the client and external services.
/api/generate-recipe: Handles the prompt engineering and communication with OpenAI. This keeps API keys secure on the server./api/refine-recipe: Refines an existing recipe based on user instructions./api/rate-limit: Checks and updates user rate limits before allowing expensive AI operations.The project uses Supabase for PostgreSQL and Authentication.
Schema Overview:
recipes: Stores generated recipe JSON data.collections: Links users to saved recipes.weekly_plan: Maps recipes to specific days/slots for a user.user_usage_counters: Tracks usage for AI generation and refinement.plan_entitlements: Defines limits per subscription plan.Security (RLS):
Row Level Security (RLS) policies are strictly enforced. Users can only SELECT, INSERT, UPDATE, or DELETE rows where user_id matches their authenticated UUID.
Usage Tracking Implementation: To prevent abuse and manage costs, PostgreSQL RPC functions are used:
check_and_increment_usage: Atomically checks weekly, per-minute, and per-hour limits before incrementing.get_usage_status: Returns current usage counts and remaining limits.record_usage_tokens: Records token consumption after AI requests.git clone <repository-url>
cd recipe-gen-app
npm install
Create a .env.local file in the root directory:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key_for_admin_tasks
OPEN_ROUTER_API_KEY=your_openrouter_api_key
# Optional: Tier-based model configuration
OPENROUTER_FREE_TIER_MODEL=google/gemini-2.5-flash-lite
OPENROUTER_PLUS_TIER_MODEL=google/gemini-2.5-flash
OPENROUTER_PRO_TIER_MODEL=google/gemini-3-flash-preview
OPENROUTER_FALLBACK_MODEL=google/gemini-2.5-flash-lite
Note: SUPABASE_SERVICE_ROLE_KEY is required for the rate-limit check API route which needs to bypass RLS to reliably increment counters via RPC.
Note: The app also supports OPENROUTER_API_KEY (without the underscore) for compatibility with the OpenRouter SDK docs.
Note: Different subscription tiers use different AI models. Free users get a lighter model, while Plus and Pro users get faster, higher-quality models.
The schema is managed with the Supabase CLI. Migrations live in supabase/migrations/, and supabase/seed.sql adds fake test data for local use. See docs/supabase-migrations.md for setup (npx supabase start, then npx supabase db reset).
The SQL files in src/lib/supabase/ are historical and may be out of date. Do not run them. The baseline migration replaces them.
npm run dev
Open http://localhost:3000 with your browser.
This project is proprietary software. All rights reserved.