An AI-powered platform designed to help street food vendors optimize their daily operations, from recipe adjustments to profit maximization.
StallOS is a comprehensive toolkit for street food vendors, leveraging AI to tackle common challenges like ingredient variability, waste management, and dynamic pricing. The application provides actionable insights and intelligent assistants to help vendors run their business more efficiently and profitably.
- AI Sous-Chef: Get real-time cooking advice to maintain taste consistency despite variations in ingredients. Describe your ingredients via text or voice and get instant suggestions.
- Profit Optimizer: Input daily ingredient prices and sales data to dynamically calculate costs and profits. Receive AI-powered recommendations on which menu items to promote.
- Performance Analytics: Visualize your business performance with dynamic charts showing profit distribution, sales volume vs. profit margin, and daily revenue/profit totals.
- Zero-Waste Genius: Turn leftover ingredients into new, sellable menu items. Describe your leftovers and get a creative, marketable recipe in seconds.
- Chaat-GPT Voice Assistant: An interactive voice-powered assistant that can help with recipe adjustments, profit optimization, and waste reduction strategies through a natural conversation.
- Daily Sales Strategy: Input your tiffin item data (costs, sales, profit) to receive a custom, AI-generated sales and marketing strategy for the day.
The goal of StallOS is to empower small food businesses with the advanced tools and data insights typically available only to large restaurants.
Follow these instructions to set up the project on your local machine.
- Node.js (v18 or later)
- npm or yarn
-
Clone the repository:
git clone https://github.com/your-username/stall-os.git
-
Navigate to the project directory:
cd stall-os -
Install the dependencies:
npm install
-
Set up Environment Variables:
This project requires API keys for Google Gemini and Vapi AI. You will need to add these directly into the source code.
- Google Gemini API Key: Open the
src/App.tsxfile. Find the componentsAIChef,ZeroWaste, andDailyStrategy. In each, locate theapiKeyvariable and replace"AIzaSyASxHWMU-e4sweZohMia3iVN3vefSRh0l8"with your actual Gemini API key. - Vapi AI Public Key: In
src/App.tsx, find theChaatGPTcomponent. Locate the lineconst vapiInstance = new Vapi(...)and replace'59992990-1840-4767-adf9-4fd44bda821e'with your Vapi public key.
- Google Gemini API Key: Open the
-
Configure Supabase Authentication
This project now supports user authentication using Supabase.
Follow these steps to configure your own Supabase project:
- Go to Supabase and log in or sign up.
- Click New Project, enter a project name, and create it.
- Open your project dashboard.
- Navigate to Authentication → Providers.
- Enable Email/Password sign-in.
- (Optional) To enable Google or GitHub login:
- Toggle the provider ON.
- Add your Client ID and Client Secret from Google Cloud Console and GitHub Developer Settings.
- Set the redirect URL to:
Replace
https://<your-project-ref>.supabase.co/auth/v1/callback<your-project-ref>with your Supabase project reference ID.
Create a .env file in the project root and add:
VITE_SUPABASE_URL=https://<your-project-ref>.supabase.co
VITE_SUPABASE_ANON_KEY=<your-anon-key>Find these values under Project Settings → API in Supabase.
The Supabase client is defined in src/utils/supabaseClient.ts:
Once you have completed the setup steps, you can run the application with the following command:
npm run devThis will start the development server at http://localhost:5173.
This project is built with the following technologies:
- Framework: React with Vite
- Language: TypeScript
- Styling: Tailwind CSS
- Charts: Chart.js
- AI Services:
- Google Gemini
- Vapi AI (for voice)
- UI Icons: Lucide React
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License.