A newer version of the Streamlit SDK is available: 1.62.0
title: Saad.AI
emoji: 🧠
colorFrom: blue
colorTo: indigo
sdk: streamlit
sdk_version: 1.40.0
python_version: '3.10'
app_file: app.py
pinned: false
Saad.AI — B.Sc. Mathematics Engine
Saad.AI is an academic mathematics assistant for university students. It combines a deterministic SymPy computation engine with configurable AI providers for explanations, proofs, theory questions, graph descriptions, and image/PDF-based problem solving.
Important: SymPy verification applies only when a request matches one of the implemented deterministic adapters. General proofs, theory questions, unsupported matrix formats, and unsupported subjects are treated as AI-generated unless a deterministic adapter returns a verified result.
Current capabilities
| Area | Examples | Verification mode |
|---|---|---|
| Calculus | Derivatives, integrals, limits | SymPy when parsed successfully |
| Equations | Polynomial equations and roots | SymPy when parsed successfully |
| Differential equations | Selected first- and second-order ODE forms | SymPy for supported forms |
| Numerical methods | Newton–Raphson, bisection, secant, Simpson, trapezoidal, Euler, RK4 | Deterministic numeric adapter |
| Number theory | GCD, LCM, factorization, totient, congruences, CRT, selected theorems, modulo | SymPy / deterministic adapter |
| Linear algebra | Determinants, eigenvalues/eigenvectors, inverses, ranks, transposes | Deterministic SymPy adapter |
| Real analysis | Selected sequence, series, Taylor, and integral computations | SymPy for supported computations; AI for theory/proofs |
| Differential geometry | Curvature, arc length, Frenet–Serret, fundamental forms | SymPy for supported parametric forms |
| Hydro mechanics | Continuity, Bernoulli, Reynolds, flow rate, pressure, Torricelli | Deterministic formula adapter for supported prompts |
| Graphing | Explicit requests to plot or graph a function | Matplotlib rendering |
| Attachments | JPG, PNG, WEBP, and PDF questions | Vision provider; deterministic verification when extractable |
The engine is intentionally not presented as a universal proof checker. For questions that cannot be deterministically parsed, the application sends the prompt to the configured AI provider and labels the result as AI-generated where appropriate.
Portfolio architecture
The deployed Space uses a flat layout because the Hugging Face web uploader preserves uploaded filenames. The responsibilities remain separated into the same modules used by the GitHub portfolio branch:
app.py # Streamlit UI, session flow, and graph rendering
config.py # Centralized provider and runtime configuration
sympy_engine.py # Deterministic symbolic and numeric adapters
ai.py # Provider rotation, vision, uploads, and verification
requirements.txt # Runtime dependencies
Chat history is intentionally session-local in the portfolio edition. This keeps the application easy to understand and deploy while still allowing users to create, switch, and delete conversations during a demo session. A database is not required.
Example prompts
Find the derivative of x^3 + 5x^2 - 3x + 7
Integrate sin(x) * e^x dx
Find limit of sin(x)/x as x -> 0
Apply Newton-Raphson to x^3 - 2x - 5 = 0, x0=2, 3 iterations
Apply bisection of x^3 - x on [0, 2], 4 iterations
Find gcd of 84 and 30
Solve 14x ≡ 30 (mod 44) using Euclidean algorithm
Plot y = x^2 - 4 from -3 to 3
Configuration
AI providers are optional for deterministic SymPy requests but required for explanations and unsupported subjects. Configure provider credentials through Hugging Face Space secrets:
GROQ_API_KEY_1
GROQ_API_KEY_2
GROQ_API_KEY_3
GEMINI_API_KEY_1
GEMINI_API_KEY_2
GEMINI_API_KEY_3
GEMINI_API_KEY_4
OPENROUTER_API_KEY
If providers are unavailable, supported deterministic requests still return their verified SymPy result instead of failing with “All providers failed.”
Local development
git clone https://github.com/almuyed-saad/math-engine.git
cd math-engine
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
streamlit run app.py
The project source and full test suite are maintained in the GitHub repository.
Credits
The project was created by Saad for B.Sc. Mathematics students at Shahjalal University of Science and Technology. It uses Streamlit, SymPy, Matplotlib, and hosted AI provider APIs.