Sage is an intelligent, multimodal AI-powered homework assistant designed to help students learn more effectively. Built with a cutting-edge tech stack, Sage can understand questions in text, image, or audio format and respond with clear, accurate answers in the best modalityโbe it text, a generated diagram, a spoken explanation, or a combination of all three.
- Multimodal Input: Ask questions by typing, uploading an image (like a photo of a math problem), or recording your voice.
- Rich, Multimodal Responses: Get answers that go beyond text. Sage can generate diagrams, charts, and annotated images to explain visual concepts.
- Text-to-Speech: Prefer to listen? Sage can provide spoken explanations for its answers.
- Intelligent Reasoning: Powered by Gemini, Sage analyzes each question to understand the student's true intent, inferring context and determining the best way to explain the concept.
- Student-Friendly Interface: A clean, conversational UI that makes learning interactive and engaging.
- Powered by Genkit: Leverages Firebase's Genkit to orchestrate complex AI flows, combining language models, TTS, and image generation.
- Framework: Next.js (App Router)
- AI Orchestration: Genkit
- AI Model: Google Gemini
- Styling: Tailwind CSS
- UI Components: ShadCN
- Language: TypeScript
To run this project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/Dash10107/helper-ai
-
Install dependencies:
npm install
-
Set up environment variables: Create a
.envfile in the root of the project and add yourGEMINI_API_KEY.GEMINI_API_KEY=your_api_key_here -
Run the development server:
npm run dev
-
Run the Genkit development server (in a separate terminal):
npm run genkit:dev
Open http://localhost:9002 with your browser to see the result.
We welcome contributions from the community! Whether you want to fix a bug, add a feature, or improve documentation, we'd love your help.
Please read our CONTRIBUTING.md for details on our code of conduct, development process, and how to submit pull requests.
This project is open source and available under the MIT License.