Back to Home

StudySync

Full-stack study session platform with Supabase real-time sync

Start: June 2025 • End: November 2025

StudySync Screenshot

Project Overview

StudySync is a full-stack study session platform built with React and Supabase (PostgreSQL). It supports secure authentication, study sessions using a Pomodoro Timer for more efficient study sessions. The app also includes social collaboration features like group creation, shared notes, and real-time messaging to support ongoing accountability

I created this project from an idea I had from my first hackathon at Georgia Tech. I'd often share notes that I took from class with my peers and they often found them extremely helpful. I also noticed that friends would often enjoy studying together but distract each other easily. This became the motivation to create an app that could allow for students to study together using the Pomodoro technique (a time-management method using a timer to break work into focused 25-minute intervals separated by short 5-minute breaks).

Build Process

1) Modeled the relational schema. My first challenge was deciding which database to use. I ended up deciding to use PostgreSQL to create tables for users, study sessions, and study groups with clear relationships to support collaboration between students.

2) Locked down access with RLS. Implemented Row Level Security policies so group data is isolated and permissions are enforced at the database layer.

3) Built the React UI. Initially, I drew a diagram of each page and how I wanted it to look. I want to add a disclaimer that much of the Tailwind CSS was done with assistance of Copilot to save time.

3) Implemented Secure Auth. Setting up a login system for authentication and authorization was very simple using Supabase Auth.

4) Added real-time collaboration. Used Supabase Channels to implement messaging and live updates for shared notes/progress.

5) Polishing. Tightened UX and edge cases (permissions, session membership, syncing correctness) to keep collaboration reliable.

Technology Stack

React Supabase PostgreSQL Row Level Security (RLS) Supabase Channels Vite Tailwind CSS

Key Features

Secure Auth

Authentication-backed user flows integrated with Supabase to keep sessions and group data protected.

Real-time Progress Sync

Real-time syncing of session progress so participants can follow along during a shared study session.

Groups + Permissions

Group creation with admin privileges and data isolation between groups using PostgreSQL RLS policies.

Real-time Messaging

Built with Supabase Channels to enable group messaging and shared collaboration in-session.

Relational Data Model

Optimized Postgres schema (users, sessions, groups, etc.) to keep queries clear and scalable.

Challenges & Solutions

Challenge: Deciding between MongoDB and PostgreSQL for a collaborative study platform that required real-time updates, complex relationships between users/groups/sessions, and strict permission enforcement.

Solution: Chose PostgreSQL (via Supabase) because the data model needed clear foreign key relationships and Row Level Security policies to enforce group-scoped access rules. While MongoDB would have been simpler, PostgreSQL's relational structure and built-in RLS gave stronger guarantees for data isolation and made permission logic easier to maintain.

Project Links