/homework-helper-ai

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

Primary LanguageTypeScriptMIT LicenseMIT

Sage: Your Multimodal AI Tutor

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.

โœจ Features

  • 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.

๐Ÿš€ Tech Stack

๐Ÿ Getting Started

To run this project locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/Dash10107/helper-ai
  2. Install dependencies:

    npm install
  3. Set up environment variables: Create a .env file in the root of the project and add your GEMINI_API_KEY.

    GEMINI_API_KEY=your_api_key_here
    
  4. Run the development server:

    npm run dev
  5. Run the Genkit development server (in a separate terminal):

    npm run genkit:dev

Open http://localhost:9002 with your browser to see the result.

๐Ÿค Contributing

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.

๐Ÿ“„ License

This project is open source and available under the MIT License.