How We Built EduSathi, An Open-Source AI Learning Platform Using Streamlit, LangChain and FAISS
Introduction
Over the past few months, my team and I built EduSathi, an AI-powered learning platform designed to help students study more effectively using Retrieval-Augmented Generation (RAG).
The idea was simple:
Students spend hours searching through PDFs, notes and study materials. We wanted to create a platform where students could upload documents, ask questions, generate quizzes and revise using flashcards.
Today, EduSathi is fully open source.
What EduSathi Does
EduSathi provides:
- AI Chat Tutor for document-based Q&A
- PDF upload and processing
- Semantic search using vector embeddings
- Automatic quiz generation
- Flashcard generation
- Student progress tracking
- Role-based authentication system
Technology Stack
Backend:
- Python
- SQLite
AI Stack:
- LangChain
- FAISS
- Sentence Transformers
- Groq LLaMA 3
Frontend:
- Streamlit
System Architecture
The workflow follows a RAG pipeline:
- User uploads PDFs
- Documents are chunked into smaller sections
- Text embeddings are generated
- Embeddings are stored in FAISS
- Relevant chunks are retrieved based on user queries
- Retrieved context is sent to the LLM
- Responses are generated and returned to the user
This significantly improves answer quality compared to sending raw prompts directly to an LLM.
Challenges We Faced
1. Retrieval Quality
Initially we focused heavily on model selection.
Later we discovered retrieval quality had a much bigger impact.
Poor chunking and retrieval often produced inaccurate answers regardless of the model.
2. Authentication
Even for a student project, authentication became more complex than expected.
We implemented:
- Role-based access control
- Secure session handling
- User-specific progress tracking
3. Building Reliable AI Features
Creating AI features was straightforward.
Making them reliable across different documents and edge cases required much more effort.
4. Modular Design
Separating ingestion, retrieval and generation components made the project easier to maintain and extend.
Key Lessons
- Retrieval quality matters more than model size
- User experience matters as much as AI accuracy
- Modular architectures reduce future technical debt
- Security should be considered from the beginning
- AI applications require extensive testing
Open Source
EduSathi is now fully open source.
GitHub:
https://github.com/Not-muzzyy/EduSathi
I would appreciate feedback, suggestions and contributions from the developer community.
If you find the project useful, consider giving it a GitHub star.
Final Thoughts
Building EduSathi taught us much more than AI development.
It taught us system design, authentication, retrieval engineering, user experience and the challenges of building production-style applications.
I hope sharing this journey helps other developers interested in AI-powered applications.
Top comments (0)