Inspiration

As students at George Mason University, we kept running into the same problem: it's hard to actually connect with people in your classes. Sure, GroupMe or Discord servers exist, but most people never join them, and the ones who do rarely contribute. There's no real incentive to engage because it all feels anonymous and disconnected from your actual academic life. We wanted to build something that solves that — a platform tied to your GMU identity where sharing notes, organizing study sessions, and just talking to classmates feels natural and personal. When your name and major are attached, people are more likely to actually show up and contribute.

What it does

MasonNet is a university social and academic platform built specifically for GMU students. Students sign up with their GMU email and can enroll in their courses, each of which comes with dedicated chat channels, a shared document repository, a calendar of assignments and exams, and the ability to organize study sessions with RSVPs. There's also a campus-wide social feed for posts, a full DM system for one-on-one conversations, and real-time messaging powered by WebSockets. The standout feature is MasonBot — an AI chatbot powered by OpenAI that's context-aware. It doesn't just give generic answers; it pulls in the actual documents and course info uploaded to a specific channel, so students get help that's directly relevant to their class materials.

How we built it

Our team of three split up the work across the stack. The mobile frontend is built with Flutter/Dart, giving us a cross-platform app for both iOS and Android. The backend runs on Node.js with Express, connected to MongoDB Atlas for data persistence. We used Socket.IO for real-time messaging across both channel conversations and direct messages. For the AI chatbot, we integrated OpenAI's API, building a system that dynamically constructs context from the documents and course data stored in our database so that each chatbot response is grounded in the actual materials students have uploaded. Authentication is handled with JWT tokens, and we built out a comprehensive seed script to populate the app with realistic data for demo purposes.

Challenges we ran into

Integrating AI into the project was our biggest hurdle. We originally planned to use Google's Gemini API but ran into issues getting it to work reliably, so mid-hackathon we had to pivot to OpenAI. On top of the API switch, we didn't just want a generic chatbot — we wanted it to be aware of the specific files and course content uploaded to each channel. Getting the context injection right so the AI could reference actual documents and give relevant answers took significant iteration. Our other major challenge was around data. We initially built the frontend against mock data and hadn't set up the backend or database early enough. Migrating from hardcoded mock data to a live MongoDB-backed API meant reworking a lot of our data flow and catching mismatches between what the frontend expected and what the API actually returned.

Accomplishments that we're proud of

The feature we're most proud of is the personalized chatbot system. MasonBot isn't just one generic assistant — it's context-aware based on the course and channel you're in. If you're in the CS 310 channel and students have uploaded lecture slides and study guides, the chatbot can reference those specific documents when answering your questions. That kind of personalized, course-specific AI assistance is something we haven't seen in other student platforms, and we think it makes a real difference for students trying to study.

What we learned

We learned a lot about building a full-stack application under time pressure with a team of three. On the technical side, we got hands-on experience with real-time WebSocket communication, JWT-based auth flows, and dynamically constructing LLM prompts with database content as context. We also learned the importance of having a backup plan — when Gemini didn't work out, being able to pivot quickly to OpenAI saved our chatbot feature. On the product side, we learned how important it is to set up your data layer early — starting with mock data and migrating later cost us time we could have spent on features.

What's next for MasonNet

Going forward, we want to add actual file upload and storage so documents aren't just metadata — students could upload and download real PDFs and notes directly in the app. We'd also like to make the chatbot even smarter by letting it parse uploaded document contents for deeper, more specific answers. Other features on our roadmap include push notifications for new messages and upcoming deadlines, a course discovery and recommendation system, and eventually opening the platform up to other universities beyond GMU.

Built With

Share this project:

Updates