Campus Calendar: AI-Powered University Event Hub featured image

Campus Calendar: AI-Powered University Event Hub

An award-winning mobile app that centralizes university events, provides AI-driven recommendations, and allows students to host their own gatherings. Architected a scalable backend on Kubernetes.

Contributors: Asa Reynolds, Jason Selsley, Ryan Nair, Eva Gunn

Overview

College life presents a paradox of choice: countless events occur daily, yet finding the right one feels isolating and overwhelming. Information is scattered across dozens of university websites, student organization pages, and community portals, creating a fragmented and frustrating experience. There’s no single source of truth, nor an easy way for students to promote their own grassroots events.

Campus Calendar is an award-winning mobile application designed to solve this problem by creating a unified, intelligent hub for all university happenings. Built during the HackPSU Spring 2024 hackathon, our platform aggregates events from disparate sources, provides AI-driven personalized recommendations, and empowers students to create and share their own listings. As the lead backend and infrastructure developer, I engineered a scalable, resilient system on Kubernetes to power both a native iOS app and a cross-platform React Native client. Our project secured 2nd Place overall, demonstrating its technical viability and potential for real-world impact.

Key Features

  • Unified Event Aggregation: The platform automatically parses and centralizes event data from various university sources using a custom data pipeline powered by Google’s Gemini LLM, ensuring a comprehensive and up-to-date calendar.
  • AI-Powered Recommendations: Leveraging the GPT-3.5-Turbo API, the app analyzes user preferences and event details to deliver a personalized feed of relevant activities, cutting through the noise of campus life.
  • Student-Hosted Events: Any student can create and share their own event, from study groups to pickup basketball games, fostering a more connected and vibrant campus community.
  • Cross-Platform Native Experience: We developed two distinct frontends—a native iOS app in SwiftUI and a responsive React Native app—that both consume a centralized API, ensuring wide accessibility without compromising performance.
  • Safety and Accessibility: The UI clearly distinguishes between official university events and user-posted content. The design adheres to WCAG guidelines with features like a color-blind mode, high-contrast text, and screen-reader compatibility.

Technologies & Implementation

I architected and deployed the entire backend infrastructure, focusing on scalability, security, and performance. The core of the system is a Node.js API server running on a multi-node K3s Kubernetes cluster hosted on Oracle Cloud. This choice provided rapid deployment, high availability, and the ability to scale services independently under load.

All traffic is routed through Cloudflare’s global CDN, which provides DDoS protection, SSL encryption, and caching for static assets to ensure low-latency access for users anywhere. For data processing, I designed a pipeline where Google’s Gemini model ingests multi-format external event data, standardizes it into JSON, and populates our MySQL database. The main API then serves this data to the clients and orchestrates real-time calls to the OpenAI API for generating personalized event recommendations.

graph TD
    subgraph "Clients"
        A["iOS App (SwiftUI)"]
        B["Cross-Platform App (React Native)"]
    end

    subgraph "Cloudflare"
        C["Global CDN / WAF / SSL"]
    end

    subgraph "Oracle Cloud Infrastructure"
        D["Kubernetes Cluster (K3s)"]
    end
    
    subgraph "Kubernetes Services"
        E["Node.js / Express API"]
        F["Gemini Data Ingestion Pipeline"]
    end

    subgraph "External Services"
        G["OpenAI API (GPT-3.5)"]
        H["University Data Sources"]
    end

    subgraph "Database"
        I["MySQL Database"]
    end
    
    A --> C
    B --> C
    C --> D
    D -- Manages --> E
    D -- Manages --> F
    E --> G["Recommendations"]
    E --> I
    F --> H["Fetch Events"]
    F --> I["Store Parsed Events"]

Challenges & Solutions

The primary challenge was architecting and deploying a production-grade, scalable infrastructure within the intense 24-hour timeframe of a hackathon. Standing up a traditional Kubernetes cluster would have been too time-consuming. I solved this by using K3s, a lightweight, certified Kubernetes distribution, which enabled me to bootstrap a multi-node cluster on Oracle Cloud in a fraction of the time. I configured redundant nodes to ensure the system remained available even if a single server failed, establishing a robust foundation from the very beginning.

A second challenge was integrating two distinct AI models for different tasks without creating a bottleneck. The Gemini-powered data ingestion needed to be powerful but couldn’t slow down the user-facing recommendation engine. I decoupled these systems by designing an asynchronous pipeline. The Gemini service runs as a background process, continuously parsing and populating the database. The user-facing API only performs a fast query to the pre-processed data in the MySQL database and makes a lightweight, real-time call to the GPT API for recommendations. This separation of concerns ensured the application remained snappy and responsive for end-users.

Results & Impact

Our efforts culminated in a fully functional, end-to-end application that deeply impressed the judges. We proudly achieved the following:

  • Winner, 2nd Place Overall at HackPSU Spring 2024.
  • Winner, Best .Tech Domain Name.

The project successfully demonstrates the ability to rapidly develop and deploy a complex, AI-integrated, full-stack application on modern cloud-native infrastructure. The architecture is designed for growth, with the capacity to onboard other universities that use the OrgCentral platform and expand into local communities. Future plans include implementing sponsored listings for local businesses and exploring on-device LLM processing for enhanced privacy and performance.

{TODO: Add screenshot of the Campus Calendar app interface}