All Projects
ActiveLead Engineer & ArchitectFlagship · Advanced

CampusLink

One campus. One platform. Zero friction.

CampusLink collapses the fragmented digital life of a college — WhatsApp announcements, email chains, scattered portals — into a single, intelligent campus hub that actually works the way students and faculty think.

Live Demo GitHub
CampusLink

The Story

Why this exists.

The Problem

Campus communication is broken. Important announcements get buried in 50-message WhatsApp threads. Event registrations are Google Forms shared via screenshots. Faculty post assignments in three different places. Students miss deadlines not because they're careless, but because information is everywhere and nowhere.

Why It Matters

Poor campus communication isn't just an inconvenience — it creates inequity. Students who are in the right WhatsApp group get opportunities; those who aren't, miss them. A centralised platform levels that playing field entirely.

The Solution

A React + Supabase campus platform with an AI assistant (Gemini) for answering campus queries, real-time announcements, event discovery, resource sharing, and a faculty-student communication layer — all in one authenticated app.

Product Features

What it does.

AI Campus Assistant

A Gemini-powered chatbot that answers questions about timetables, exam schedules, campus facilities, and academic policies — trained on campus-specific context.

AI Campus Assistant

Real-Time Announcements

Faculty and admins post announcements that appear instantly on student dashboards via Supabase real-time subscriptions. Priority announcements trigger push notifications.

Event Hub

Discover, register, and get reminders for all campus events — clubs, fests, workshops, and academic events in a unified calendar view.

Event Hub

Resource Library

Faculty upload notes, past papers, and assignments — students access them by subject, semester, and branch. Version history for updated documents.

Role-Based Ecosystem

Students, faculty, club coordinators, and admins each have scoped views and permissions enforced by Supabase Row Level Security.

System Architecture

How every layer connects.

Client → Supabase (Auth + RLS + Realtime) → PostgreSQL | Gemini API for AI queries

FrontendReact + TypeScriptSPA, real-time UI updates, AI chat interface
BackendSupabasePostgreSQL DB, Auth, Row Level Security, Storage
Real-TimeSupabase RealtimeLive announcements, presence indicators
AIGemini APICampus assistant — RAG over campus knowledge base
DeploymentNetlifyCDN deployment, branch previews

Technical Deep Dive

Under the hood.

AI Campus Assistant with RAG

The Gemini-powered assistant is grounded with a campus-specific knowledge base — timetables, academic calendar, faculty directory, and policy documents stored as embeddings in pgvector. When a student asks 'When is the internal assessment for Data Structures?', the system retrieves the most relevant context chunks and injects them into the Gemini prompt before answering. This prevents hallucinations about campus-specific data.

Supabase RLS as the Security Layer

Every table has Row Level Security policies. Students can only read announcements targeted to their branch and year. Faculty can only modify resources for subjects they're assigned to. Admins have unrestricted access. No application-level permission checks — all enforced at the database layer. This makes the system secure even if the frontend has a bug.

-- RLS policy: students see only their branch announcements
CREATE POLICY "students_view_branch_announcements"
ON announcements FOR SELECT
USING (
  branch = (SELECT branch FROM students WHERE id = auth.uid())
  OR branch = 'all'
);

Engineering Decisions

Challenge → Decision → Result.

Custom backend vs. Supabase for a campus platform

Decision

Supabase — PostgreSQL + Auth + RLS + Realtime in one

Why

Building auth, real-time, and file storage from scratch would take weeks. Supabase gives all of it with type-safe client generation. RLS is more secure than application-level guards.

Result

Full backend in 2 weeks. Zero auth-related security incidents.

Campus AI — fine-tuned model vs. RAG over Gemini

Decision

RAG over Gemini with pgvector

Why

Fine-tuning requires large labelled datasets we don't have. RAG with a well-curated knowledge base gives accurate, campus-specific answers with no training cost.

Result

AI assistant accuracy rated 4.4/5 by student testers.

Performance & Scale

By the numbers.

4.4/5AI Assistant Accuracystudent satisfaction score
< 150msReal-Time Latencyannouncement delivery
300+Active Usersin pilot cohort
500+Resources Uploadednotes, papers, assignments

Deployment & Infrastructure

Production setup.

Deployment

React SPA on Netlify. Supabase hosted PostgreSQL + Auth + Storage. Gemini API for AI queries. pgvector for semantic search.

CI/CD

GitHub Actions — lint + type check on PR. Netlify preview deploy on every branch.

Monitoring

Supabase dashboard for DB performance and Auth events. Netlify Analytics.

Challenges & Failures

What broke — and how I fixed it.

Challenge

AI assistant giving outdated information from a stale knowledge base.

Fix

Built an admin panel for knowledge base updates — new documents are chunked and re-embedded automatically via a Supabase Edge Function trigger.

Challenge

Real-time connections dropping on poor campus Wi-Fi.

Fix

Added exponential backoff reconnection with a toast notification when the connection drops, so users know their data may be stale.

What I Learned

Key takeaways.

Future Roadmap

Where this is going.

v2.0 — 2026

  • Mobile app (React Native) with offline announcement caching
  • AI-powered timetable conflict detection
  • Integration with institution ERP for live marks and attendance

Screenshots

The product.

CampusLink dashboard

Student dashboard — announcements and events

AI campus assistant

Gemini-powered campus assistant interface

Technology Stack

Built with.

Frontend

ReactTypeScript

Backend / DB

Supabase

Database

PostgreSQL

AI / Search

pgvector

AI

Gemini API

Deployment

Netlify

Ready to dive in?

This isn't just a project.
It's a system I designed,
engineered, and shipped.

Live Demo Explore the code← All Projects