Inspiration

College is a strange paradox. As a student, you’re constantly surrounded by thousands of people, yet forming genuine connections on a campus (especially as large as UCF) can feel surprisingly difficult. As a response to noticing most student interactions end up staying trapped inside existing friend groups or specific majors, we built uKnight to bridge that gap. With uKnight, we can once again recapture the "Omegle feel" of meeting new people and rebuild it within a verified, safe university community that prioritizes more meaningful student-to-student conversation with interactive games and silly features beyond just talking.

What it does

uKnight is a student-focused social platform that facilitates instant connections and safe campus interactions by providing:

  • Verified Onboarding – Users authenticate via school email (.edu) with OTP verification to ensure a safe, student-only environment.
  • Real-time Matchmaking – A shared lobby powered by WebSockets that connects students instantly for live interactions.
  • Live Video Chat – High-quality WebRTC video calls featuring full media controls, device selection, and seamless skip/requeue logic.
  • Interactive Activities – Built-in mini-games and in-call text chat designed to break the ice and reduce awkward silences.
  • Community Safety – A robust reporting and moderation pipeline that flags users for review to maintain platform integrity.

How we built it

uKnight is built using:

  • Next.js for frontend routing and rendering
  • Tailwind CSS and Framer Motion for styling and fluid UI animations
  • Spring Boot (Java 21) for the backend signaling and application logic
  • PostgreSQL and Firestore for managing persistent user data and verification codes
  • WebRTC and STOMP for peer-to-peer media flow and real-time messaging
  • Cloud Run and Vercel for scalable containerized deployment and hosting We structured the project for fast signaling and smooth media flow, focusing on systems coordination to maintain a high-quality, responsive student experience.

Challenges we ran into

  • Coordinating WebRTC negotiation and ICE handling across different networks and browsers
  • Keeping lobby matchmaking, call lifecycle, and signaling perfectly in sync with the UI
  • Designing a polished call interface that stays responsive under high-frequency real-time updates
  • Balancing fast “skip and rematch” behavior with session tracking and safety guardrails

Accomplishments that we're proud of

  • Shipped a complete end-to-end flow from .edu verification to a live video call
  • Built a fast, fluid lobby experience with quick rematching and interactive features that also pairs based on interests
  • Integrated modular mini-games, icebreakers, jokes, modern topics and interest based match making directly into the call interface to make first interactions easier
  • Created a cohesive product identity with a smooth UX that feels native to campus life
  • Themed the app and added in our own music for giving the app life

What we learned

  • Advanced real-time architecture using WebRTC and WebSocket signaling
  • Managing systems coordination when frontend, backend, and infra move in parallel
  • Designing for spontaneity and safety from day one in a social product
  • How UX details like status messages and transitions matter as much as backend logic
  • Implementing GitHub Actions and Google Cloud's Artifact, Run, Trigger services in a synchronized CI/CD pipeline

What's next?

  • Expanding to multi-campus support beyond the initial university model (i.e. other local colleges)
  • Adding group experiences like themed study rooms and virtual hangouts
  • Improving moderation workflows with automated admin tooling
  • Scaling the real-time stack to support higher concurrency across campuses (beyond just a few 100 people)

Built With

Share this project:

Updates