
Your AI-powered personal chef
MonAmiChef is an AI-powered cooking assistant that generates personalized recipes and meal plans based on user preferences, nutrition goals, and time constraints. Available on mobile and accessible via API on RapidAPI.
Generic recipe apps don't know who you are. Whether you're trying to build muscle, eat low-carb, or cook something quick on a weeknight — every session starts from scratch. No preferences, no memory, no context. And when AI is involved, hallucinated ingredients or nutritionally inconsistent recipes make the problem worse for users with real health goals.
Users define nutrition goals, cuisine preferences, meal occasion, and timing — once. Every recipe adapts to these constraints.
A structured AI chat surfaces relevant recipes instantly. Quick prompts like "Quick dinner in 20 minutes" or "High protein" get straight to the point.
MonAmiChef generates weekly meal plans and the corresponding grocery list automatically — no manual planning needed.
Past recipe conversations are saved and accessible. Users can revisit previous meals or regenerate variations from old sessions.
AI Chat
Preference PickerBoth the mobile app and the web dashboard share the same backend API, ensuring consistent recipe generation, preferences, and chat history across platforms. The NestJS API is the single source of truth — it handles authentication, preference management, and all LLM calls.

The API is also published on RapidAPI, making the recipe engine accessible for third-party integrations and developers who want to build on top of it.
AI hallucinations are a real problem in nutrition apps. MonAmiChef reduces unreliable outputs at the architecture level:
The LLM is instructed to return strict JSON. Responses are parsed and validated server-side before being stored or returned to the client.
Dietary restrictions, cuisine types, occasions, and timing are injected into the system prompt as explicit rules — scoping what the model can generate.
For cuisine type, occasion, and timing, the model selects from a fixed set of options rather than generating them freely — eliminating an entire class of inconsistent outputs.
All LLM responses are validated against expected schemas on the backend before being forwarded to the client — malformed or incomplete outputs are rejected.
Login
AI Chat
Preferences
HistoryBuilding a single NestJS backend consumed by both a React Native app and a web dashboard forced me to think carefully about API contracts — versioning, payload shapes, and consistency across clients.
Making AI outputs trustworthy required the same rigor as any production system: typed schemas, server-side validation, and systematic prompt testing. Calling an API is the easy part.
The preference picker wasn't a nice-to-have — it was the backbone of reliable outputs. Structured user context injected at the prompt level made every generated recipe dramatically more relevant.
Publishing on RapidAPI meant thinking about rate limiting, auth flows, and developer documentation in a way internal APIs don't require. A valuable exercise in building for external consumers.