MCPcopy Index your code
hub / github.com/bklieger-groq/mathtutor-on-groq

github.com/bklieger-groq/mathtutor-on-groq @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
85 symbols 223 edges 29 files 2 documented · 2%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Voice-Enabled AI Math Tutor That Calculates and Renders Live Problems and Instruction with LaTeX in Seconds!

OverviewFeaturesInterfacesQuickstartCredits

https://github.com/user-attachments/assets/24abe05a-ee6f-49d8-bdfc-13214b8d3d54

Overview

Math Tutor on Groq is an AI-powered voice chatbot that leverages 8090's xRx framework, Whisper and Llama 3.3 70b on Groq, and TTS on Elevenlabs to respond in conversation with the student with live LaTeX and Markdown-formatted equations and notes specifically tailored to the student's requests. Groq's speed makes providing a complex response near instantaneous, enabling a seamless experience.

The speed also enables algebra and calculus problems to first be solved via an internal math engine, then providing the solution as context to the AI, increasing accuracy of the response.

Quickstart

[!IMPORTANT] To use Math Tutor, you can use a hosted version at coming soon. Alternatively, you can run Math Tutor locally using the quickstart instructions.

  1. Clone the Repository bash git clone --recursive https://github.com/bklieger-groq/mathtutor-on-groq.git The recursive flag ensures the xRx library is downloaded as well.

  2. Create File for Environment Variables bash cp env-example.txt .env

  3. Configure API Keys

  4. Add your Groq API key to .env: LLM_API_KEY="your_groq_api_key_here" GROQ_STT_API_KEY="your_groq_api_key_here"

  5. Configure TTS settings with your preferred provider (e.g., ElevenLabs) ELEVENLABS_API_KEY="your_elevenlabs_api_key" You can obtain a Groq API key from the Groq console

  6. Run the Application bash docker-compose up --build

Your application will be available at localhost:3000.

Changelog

See CHANGELOG.md to see the latest changes and versions. Major versions are archived.

Credits

This app was developed by Benjamin Klieger at Groq and uses the xRx framework created by 8090 Solutions: Github Repository.

Extension points exported contracts — how you extend this code

DataItem (Interface)
(no doc)
nextjs-client/src/app/page.tsx
Window (Interface)
(no doc)
nextjs-client/src/app/page.tsx
SkinConfig (Interface)
(no doc)
nextjs-client/src/app/types/skinConfig.ts
MarkdownLatexProps (Interface)
(no doc)
nextjs-client/src/app/components/markdown-latex.tsx
ButtonProps (Interface)
(no doc)
nextjs-client/src/app/components/ui/button.tsx

Core symbols most depended-on inside this repo

cn
called by 36
nextjs-client/src/app/utils/utils.ts
context_agent
called by 1
reasoning/app/agent/executor.py
single_turn_agent
called by 1
reasoning/app/agent/executor.py
set_session
called by 1
reasoning/app/agent/context_manager.py
calc_solve
called by 1
reasoning/app/agent/utils/calculator.py
process_calc_solve
called by 1
reasoning/app/agent/utils/calculator.py
process
called by 0
nextjs-client/public/audio-processor.js
Home
called by 0
nextjs-client/src/app/page.tsx

Shape

Function 55
Method 15
Class 9
Interface 5
Enum 1

Languages

TypeScript81%
Python19%

Modules by API surface

nextjs-client/src/app/components/ui/icons.tsx27 symbols
nextjs-client/public/vad.worklet.bundle.min.js16 symbols
nextjs-client/src/app/utils/utils.ts9 symbols
test/test.py7 symbols
nextjs-client/src/app/page.tsx6 symbols
reasoning/app/agent/executor.py3 symbols
nextjs-client/public/audio-processor.js3 symbols
test/interactive_test.py2 symbols
reasoning/app/agent/utils/calculator.py2 symbols
nextjs-client/src/app/components/markdown-latex.tsx2 symbols
nextjs-client/src/app/components/intro-popup.tsx2 symbols
test/cancel_test.py1 symbols

For agents

$ claude mcp add mathtutor-on-groq \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page