The problem
Independent food businesses make daily decisions across invoices, supplier quotes, stock, recipes, sales and margins. The facts are spread across records and tools, so owners often spend their time reconciling information before they can act. A general chatbot can produce a confident answer, but an operator needs to know where each number came from and what will happen next.
What we built
Munim is an AI back office for food businesses. An owner can ask a business question, investigate a change in costs, review supplier quotes, inspect an invoice or prepare a purchase request. Munim connects those tasks to a shared operational record and a supply graph linking suppliers, ingredients, dishes and outlets.
The graph makes relationships visible. If a supplier changes a price, Munim can trace which ingredients, dishes and outlets may be affected. The owner can inspect the supporting records and see how the change affects margins.
How the AI works
The application uses NVIDIA Nemotron models through Nebius Token Factory. We verified live application inference through Token Factory. The configured roles use Nemotron 3.5 Lightning for constrained routing, Nemotron 3 Super 120B A12B for deeper reasoning, and Nemotron 3.5 Super VL for document and image extraction and short narration.
Each role has a limited job. The router selects from a fixed set of routes. The reasoning model uses read-only tools to inspect approved business snapshots and produce answers with citations. The vision and extraction roles return structured fields from invoices or supplier responses. Those fields are checked against the source document before they can inform a proposal.
Munim’s TypeScript Core owns the database and business rules. Its Python Intelligence service uses Google ADK and an OpenAI-compatible provider adapter to call Token Factory. Intelligence has no direct database connection or write permission. Core validates citations and numeric claims against the records, applies deterministic pricing and policy checks, and stores proposed changes as drafts. A person reviews and approves each business change.
What we learned
Choosing a model by task makes the system easier to control. A small routing decision does not need the same setup as a multi-step investigation. Structured extraction benefits from strict schemas and source checks. Business numbers should come from validated records, while models help interpret those records and explain the result.
The main engineering challenge was keeping useful AI inside a reliable operating workflow. We addressed that with role-specific prompts, scoped read tools, typed outputs, citation validation, deterministic calculations, spend controls and human approval. When the evidence does not support an answer, Munim says it cannot verify the claim.
We built the project with TypeScript, Python, PostgreSQL, Supabase, FalkorDB, Next.js, Hono, Google ADK and Nebius Token Factory. The app uses synthetic business data, simulated suppliers and recorded payment actions for its public demo.
Built With
- agentic-ai
- ai-agents
- falkordb
- food-operations
- google-adk
- hono
- human-approval
- knowledge-graph
- multimodal-ai
- nebius-token-factory
- next.js
- nvidia-nemotron
- postgresql
- python
- restaurant-technology
- source
- supabase
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.