Inspiration

As students at RGUKT, we often faced two recurring challenges: communication gaps between students and faculty, and the difficulty of finding accurate, specific information about campus rules or schedules instantly. We realized that while generic chatbots exist, they don't know our mess menu for Tuesday or our specific detention rules. This inspired us to build SmartCampus—a dual-purpose platform. We wanted to create a streamlined, digital bridge for grievance redressal while simultaneously giving the campus a "brain": an AI assistant that doesn't just chat, but actually reads our internal university documents to give factual answers.

What it does

How we built it

SmartCampus is built on a modern, scalable tech stack: Frontend (React.js): We designed a custom "Teal Academic" UI using CSS variables and keyframe animations to ensure the experience feels premium and responsive. We implemented role-based routing to strictly separate Student and Faculty portals. Backend (Flask): The Python backend serves as the controller. It handles the business logic, manages the connection to the database, and orchestrates the AI processing. Database (Supabase): We used PostgreSQL for robust data storage. The auth.users system handles security, while custom tables store profile links and complaints. AI Engine (Google Gemini 1.5 Flash): We utilized Gemini's Multimodal capabilities. By uploading our college's "mess_menu.jpg" and "AcademicRules.pdf" directly to the model's context window, we allowed the AI to answer visual and textual queries without complex OCR tools.

Challenges we ran into

The "Context Window" Limit: Initially, we tried to upload every single syllabus document at once, crashing the AI with a "Token Limit Exceeded" error. We solved this by curating the dataset to include only essential general information files, optimizing the input for the 1-Million token limit of Gemini 1.5 Flash. Authentication State: We faced a bug where refreshing the page would kick a logged-in user back to the login screen. We overcame this by implementing a loading state in React that waits for the local storage session check to complete before rendering the router. Data Consistency: We initially struggled with displaying the correct Student ID in the Faculty Dashboard because we were showing the internal UUID. We fixed this by implementing SQL Joins in our backend API to fetch the human-readable reg_id from the students table alongside the complaint data.

Accomplishments that we're proud of

This is the first hackathon for my team members and myself so we are some what happy about our first project.

What we learned

The Power of RAG (Retrieval-Augmented Generation): We moved beyond basic API calls and learned how to build a knowledge base. We discovered that "feeding" the AI specific files (PDFs, images) drastically reduces hallucinations and makes the tool genuinely useful for niche environments like a university. Database Integrity: Working with Supabase taught us the importance of relational data. We implemented foreign keys and cascade deletes to ensure that if a student leaves, their data doesn't become "ghost data" in the system.

What's next for Smart Campus

We want to change the main drawbacks of our project UI and UX . Then we want to add some more features and train the integrated Gemini AI with more data.

Built With

Share this project:

Updates