Blockly

Self-Hosted Student Schedule Tracker

One Supabase project equals one student's data. Blockly helps students manage daily schedules, weekly blocks, calendar overrides, and class tasks in one installable web app.

Core Features

Built for students who need clear day planning and lightweight task management.

Today View

Color-coded timeline with NOW and UP NEXT indicators plus daily progress at a glance.

Week + Calendar

Switch between weekly block grids and month overrides to handle holidays and one-off schedule changes.

Task Manager

Create class-linked tasks with due dates, relative labels, and overdue highlighting.

Template Presets

Start with Traditional, A/B, 4x4, Rotating, or fully Custom schedule templates.

Student Preferences

Save local preferences for 12h/24h time, default schedule type, weekends, and dark mode.

Secure by Design

Supabase Auth + PostgreSQL with Row Level Security and FORCE RLS on every table.

Architecture

No custom backend server. The app talks directly to Supabase.

Client

Browser

Student uses a PWA-capable web app.

SDK

Supabase JS

Frontend handles auth and data access.

Platform

Supabase

Auth + PostgreSQL with per-user row isolation.

Scope

Single Student Data

One Supabase project stores one student's data.

Quick Setup

Bring your own Supabase project and run Blockly locally in minutes.

1) Install

Clone the repo and install dependencies with Node.js 18+.

2) Configure Supabase

Create a Supabase project, run the setup SQL, then add URL and anon key to environment variables.

3) Run

Start the app and sign in. Optionally load demo data from the top bar.

Environment variables

  • NEXT_PUBLIC_SUPABASE_URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY
  • NEXT_PUBLIC_SUPABASE_AUTH_PROVIDERS (optional)

Deployment

Deploy on Vercel, Netlify, Cloudflare, or any self-hosted Next.js environment.

  • Vercel: connect repo and set public env vars
  • Netlify: deploy with Next.js support plugin
  • Cloudflare: use next-on-pages or Pages
  • Self-hosted: run build then start

Security Model

  • Supabase Auth for identity and session management
  • Every table scoped by user_id with RLS policies
  • FORCE RLS enabled on all primary tables
  • Cross-table ownership integrity with composite foreign keys
  • No service role key in frontend code

Request Access to Hosted Blockly

Prefer not to self-host? Request access to the managed hosted version and we'll follow up with next steps.

Request Hosted Access

Build Your Own Blockly Instance

Blockly is open-source and designed for self-hosted student use. Start with the README setup flow and deploy where you want.

View on GitHub