Inspiration
The inspiration for StudyHub came from the chaotic nature of academic resource management. Students often struggle to find verified, high-quality notes across different subjects like B.Tech, BCA, and Pharmacy. We wanted to build a centralized "Academic Social Network" where knowledge is freely shared but secured through modern verification methods like Voice-OTP to prevent spam and ensure a community of real learners.
What it does
Securely Register: Uses a custom Twilio Voice API integration to verify users via phone calls before they can create an account.
Share Resources: Provides a seamless interface for uploading notes categorized by Course, Year, and Subject.
Browse & Search: Features a dynamic dashboard where users can filter, search, and preview notes (PDFs, images, or docs) directly in the browser.
How we built it
Frontend: Built with clean HTML5, CSS3, and Vanilla JavaScript using ES6 Modules for a modular structure.
Backend: A Node.js and Express server handles the API requests for AI generation
Challenges we ran into
Module System Conflicts: We initially faced errors importing otpStore.js and otp.js due to Node.js defaulting to CommonJS instead of ES Modules. We resolved this by configuring "type": "module" in package.json.
Accomplishments that we're proud of
Successful Voice-OTP Integration: Getting the server to trigger a real-time voice call with a unique code was a major technical milestone.
Clean UI/UX: Creating a responsive dashboard that allows users to switch between viewing notes, uploading, and chatting with an AI without page reloads
What we learned
Backend Security: We learned the importance of using .env files to hide API keys from the public.
Modular Coding: Breaking the project into files like server.js, script.js
What's next for Study Hub
Database Migration: Moving from local storage/memory caches to a robust MongoDB database for permanent user and note storage.
Community Features: Adding a "Comment" and "Rating" system so students can review the quality of uploaded notes.
Log in or sign up for Devpost to join the conversation.