Stemly
Stemly는 스캔된 다이어그램을 인터랙티브한 물리 시뮬레이션과 포괄적인 학습 노트로 변환하는 인공지능 기반 STEM 학습 플랫폼입니다. 실시간 렌더링을 위한 Flutter CustomPainter, FastAPI 백엔드, LangChain 조율, Google Gemini AI, MongoDB 데이터베이스, Firebase 인증(구글 로그인)으로 구축되었습니다.
- 스타
- 7
- 포크
- 3
- 최근 푸시(UTC)
- 2026. 2. 21.
- 프로젝트 상태
- 활성
원본 README
아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
Stemly
Scan. Analyze. Visualize. Study.
An AI-powered STEM learning platform that transforms diagrams and problems into interactive simulations, study notes, and smart quizzes.
The Problem
Students struggle to visualize abstract STEM concepts from textbooks and static diagrams. Traditional tools offer either theory OR visuals, rarely both in an interactive, personalized way.
Our Solution
Scan any physics problem with your phone, and Stemly instantly generates:
- AI Visualiser — Real-time, parameter-driven physics simulations with interactive sliders
- AI Notes — Comprehensive study notes with formulas, examples, and resources
- Smart Quizzes — Auto-generated MCQs to test understanding immediately
- AI Tutor — Chat with Gemini, GPT-4o, Grok, or Llama 3 for personalized help
Demo
| Welcome | Scan & Loading | Main Interface |
|---|---|---|
![]() |
![]() |
![]() |
| AI Visualiser | AI Notes | Settings |
|---|---|---|
![]() |
![]() |
![]() |
Features
AI Visualiser — Not Just a Video
A real-time physics engine with:
- Interactive control via sliders (velocity, angle, gravity, resistance)
- Natural language control — ask "What if gravity was 0?" and watch it update
- Live graphs (velocity-time, position-time, acceleration-time)
- 9+ simulations: Projectile Motion, SHM, Optics, Kinematics, Free Fall, and more
AI Notes — Study Smarter
Generated specifically for each scanned problem:
- Concept breakdowns with simple explanations
- Key formulas with physical meanings
- Step-by-step worked examples
- Curated resources from across the web
Smart Quizzes
- Instantly generated from your scanned content
- Multiple-choice with detailed explanations
- Score tracking and feedback
Multi-Provider AI Tutor
Choose your preferred AI model:
- Google Gemini (default)
- xAI Grok
- OpenAI GPT-4o
- Groq Llama 3
Architecture
graph TD
User[Flutter App] -->|REST API| API[FastAPI Backend]
API -->|Auth| Firebase[Firebase Auth]
API -->|Data| DB[(MongoDB)]
API -->|Vision + Text| Gemini[Google Gemini 2.5 Flash]
subgraph Client
User
OCR[Google ML Kit OCR]
VIS[Physics Engine]
end
subgraph AI
Gemini
end
| Layer | Technology |
|---|---|
| Frontend | Flutter 3.x, Dart, Provider, CustomPaint (60 FPS rendering) |
| Backend | FastAPI, Python 3.10+, Uvicorn, Pydantic |
| AI | Google Gemini 2.5 Flash (vision + text + JSON mode) |
| Database | MongoDB Atlas (async via Motor) |
| Auth | Firebase Authentication (Google Sign-In, email/password) |
| Deployment | Vercel (backend), APK/IPA (frontend) |
See ARCHITECTURE.md for detailed component diagrams, data flows, and the scan-to-simulation pipeline.
Quick Start
Prerequisites
- Flutter 3.x+ and Dart SDK 3.10.1+
- Python 3.10+
- API keys: Google Gemini + Firebase + MongoDB Atlas
Setup
git clone https://github.com/SH-Nihil-Mukkesh-25/Stemly.git
cd Stemly
# Backend
cd backend
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # Fill in your API keys
uvicorn main:app --reload
# Flutter (in a new terminal)
cd stemly_app
flutter pub get
flutter run
For detailed instructions (platform-specific, Docker, etc.), see the Setup Guide.
Documentation
| Document | Description |
|---|---|
| Architecture | System design, component diagrams, data flows |
| API Reference | Complete REST API documentation with examples |
| Setup Guide | Getting API keys, platform setup, Docker |
| Development Guide | Git workflow, testing, debugging, adding simulations |
| Contributing | How to contribute, code style, PR process |
| FAQ | Common questions answered |
| Roadmap | Where Stemly is headed |
Roadmap
See docs/ROADMAP.md for the full roadmap.
- Next: Wave simulations, circuit builder, chemistry support, offline mode
- Later: Web deployment, multi-language support, classroom mode, AR features
- Vote: React on issues to prioritize features
Contributing
We welcome contributions from everyone — especially students and first-time open-source contributors!
- Read the Contributing Guide
- Look for
good first issuelabels - Set up your environment with the Setup Guide
- Pick an issue and submit a PR
Team
Stemly was built by Team Mugiwara Coders — CS students from Amrita Vishwa Vidyapeetham, Coimbatore.
| Name | Role | GitHub |
|---|---|---|
| P Dakshin Raj | Frontend & Flutter Lead | @Dakshin10 |
| SH Nihil Mukkesh | Backend & AI Lead | @SH-Nihil-Mukkesh-25 |
| SHRE RAAM P J | Content & Ideation | @SHRE-RAAM-P-J |
| Vibin Ragav S | Testing | @VibinR-code |
Contributors
Community
- Questions? Open a discussion or ask an issue
- Found a bug? Report it
- Have an idea? Request a feature
- Security issue? See
SECURITY.md
License
Stemly is open-source under the MIT License.
분류
프로젝트에 맞는 저장소를 선택하려면?
사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.
- 이름, 작성자 또는 설명으로 검색하고 기술 주제로 범위를 좁힙니다.
- 스타, 포크, 최근 푸시를 함께 비교하세요. 스타는 관심의 지표이며 품질을 보장하지 않습니다.
- 사용하기 전에 GitHub에서 README, 라이선스, Issues를 확인하세요.
출처 및 관리
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗





