Inspiration
RUET students study from scattered PDFs, slides, handwritten notes, previous questions, routines, and Telegram discussions. Finding the right evidence at the right moment takes time, while a traditional LMS mostly stores files instead of helping a student decide what to learn next. We wanted to build an AI-native workspace that acts as a personalized, grounded study companion rather than just a digital filing cabinet.
What it does
EduMind RUET is an AI-native study workspace organized around a student’s real courses. Students upload categorized resources (syllabus, slides, materials, PYQs). It features:
- Grounded Course Assistant: Answers questions strictly based on uploaded course materials, citing source filenames.
- Smart Exam Preparation: Turns an exact class test (CT) syllabus, materials, and PYQs into "topper-style" notes with formulas, solved examples, revision cues, examiner traps, and verbatim source-labeled past questions. Notes are downloadable as text or PDF.
- Assignment Assistant: Provides academic-integrity-safe assignment guidance, plans, and hints without giving away copy-paste answers.
- Collaboration: Connects a Telegram study group so classmates can interact with the AI and mirror discussions without leaving Telegram.
How we built it
We built the application as a fast, standalone Next.js (App Router) web app using React 19 and Tailwind CSS.
- Backend & Storage: We used Supabase PostgreSQL for application state and Supabase Storage for private files. To bypass Vercel's serverless payload limits, the browser requests a signed upload token to push files directly to storage.
- AI Engine: We integrated the Google Gemini API as our core reasoning layer. We implemented advanced prompt engineering, especially for the "Exam Mode", forcing Gemini to output strict JSON schemas and acting as a Retrieval-Augmented Generation (RAG) agent by feeding it raw base64 file data.
- State Management: For speed during the hackathon, we used a single-document JSON state model that syncs between Supabase and
localStorage, enabling rapid feature iteration.
Challenges we ran into
- File Upload Limits: Vercel's serverless request-body limits prevented us from uploading large PDFs directly through our API routes. We solved this by implementing direct-to-Supabase uploads using short-lived signed tokens.
- AI Hallucinations: Preventing the AI from generating generic answers or hallucinating facts was a major hurdle. We heavily engineered the system prompts to enforce strict source citations and structured JSON outputs (e.g., ensuring PYQs are copied verbatim).
- Time Constraints: Building a complex app in a short hackathon window meant we had to sacrifice traditional relational database normalization in favor of a fast, monolithic JSON state architecture.
Accomplishments that we're proud of
- Smart Exam Mode: We are incredibly proud of the complex "topper-style note generator" prompt. It successfully forces Gemini to synthesize multiple documents into a highly structured, readable format complete with formulas, comparison tables, and worked examples.
- Seamless Fallbacks: We built the app with robust failovers. Even if Supabase is unconfigured locally or the Gemini API is rate-limited, the app falls back to local storage and credential-free demo responses so the hackathon pitch can proceed uninterrupted.
- Telegram Integration: Successfully mirroring Telegram discussions and allowing students to invoke the
@aibot directly from their chat groups without needing every student to create a web account.
What we learned
- Prompt Engineering as Code: We learned that for complex RAG tasks, natural language prompts need to be engineered almost like code—with strict rules, negative constraints, and enforced JSON output structures.
- Rapid Prototyping Architecture: We discovered that a "JSON-everywhere" state model paired with
localStorageis incredibly powerful for moving fast during an event, even if it incurs technical debt for future production.
What's next for EduMind
- Production Readiness: Replacing demo accounts with real Supabase Auth, implementing proper Row Level Security (RLS), and normalizing the JSON state blob into a traditional relational database.
- Advanced RAG Pipeline: Implementing OCR indexing and vector databases (like pgvector) for more scalable and accurate document retrieval across massive textbook PDFs.
- Teacher Portals: Building a dashboard for professors to directly distribute syllabus materials, assignments, and verified PYQs to their enrolled students.
Built With
- google-gemini-api
- jspdf
- next.js
- react
- supabase-database
- supabase-storage
- tailwind-css
- telegram-bot-api
- typescript
Log in or sign up for Devpost to join the conversation.