Inspiration
Anthology filed for Chapter 11 bankruptcy in September 2025, and is selling off its non-Blackboard assets. CampusLabs Engage is one of these assets, however, student leaders across universities agree that it can be a pain to work with, as do campus administrators.
What it does
CampusConnect aims to reimagine CampusLabs Engage. It features everything one would expect from a co-curricular management platform. Furthermore, it aims to be AI-first, with a focus on finances-- when an organization submits a funding request, it automagically is reviewed by an AI agent trained on campus funding policies reviews the context of the funding request and provides it to campus administrators in the funding request interface.
How I built it
I am an experienced ASP.NET developer, however even with a minimum viable product, this project is an immensely large undertaking for 40 hours alone. I wrote the backend by hand, and tasked Claude Code with structuring the frontend in Blazor. Once Claude had a semblance of a frontend, I iterated upon it.
For the AI integration, I'm using Azure OpenAI trained on edited versions of ASUN funding policy.
Challenges we ran into
This is my first time integrating AI into a project, let alone making aspects of a project AI first. I struggled with model context-- a good majority of my time on Friday was spent learning how the Microsoft Foundry works, and how to integrate my training into the model's context window.
I also implemented a scoped service inside of a singleton, something I have learned to avoid doing in the future. I tried a couple times to inject into IFundingReviewQueue and ran into a captive dependency exception I struggled to resolve for ~15 minutes.
Accomplishments that we're proud of
I am proud of the UI/UX. Having Claude lay out a very basic framework with Bootstrap and giving it a basic idea of my schema and routing made the frontend development go by extremely quickly. This was one of my best uses of AI in development-- treating it as an intern rather than a professional, and assisting it with getting its output where I ultimately wanted.
What we learned
SQLite is easy to set up but fragile under concurrency, especially with a background worker running alongside web requests. Even for non-production systems I would likely use MariaDB or PostgreSQL in the future, even for a simple prototype like this.
I also learned the importance of building scoped services correctly for a hosted service, that is, the worker needing its own DI scope to access DbContext.
The final thing I want to mention here is that while ASP.NET and Blazor are excellent for desktop web applications for the ease of deployment and the speed in which one can make an app with them, care needs to be taken to ensure the mobile UI/UX isn't negatively impacted as well.
What's next for CampusConnect
What I would work on next is fleshing out more of the co-cirricular management features. Most of my efforts were finance tracking and the AI integration.
Built With
- asp.net
- azure-openai
- blazor
- bootstrap
- c#
- entity-framework
- javascript
- pdfsharpcore
- qrcoder
- sqlite
Log in or sign up for Devpost to join the conversation.