Skip to content

aLittlennnnn/DeadlineOS

Repository files navigation

DeadlineOS

A deadline management dashboard that captures due dates from fragmented academic sources — syllabi PDFs, email forwards, and pasted text — and surfaces them in a single trusted view.

What it does

  • Capture deadlines from PDF syllabi, pasted email content, or free-form text using an AI extraction edge function
  • Review & confirm extracted items before they hit your dashboard
  • Dashboard view organized by This Week / Next Week with a weekly overview sidebar
  • Export your full deadline list as a printable HTML table
  • Reminder settings — configure lead times per task type (Project, Homework, Quiz, Survey, Admin) and enable/disable a weekly digest

Tech stack

  • React 18 + TypeScript + Vite
  • Tailwind CSS + shadcn/ui components
  • Framer Motion for panel animations
  • Supabase — Postgres database + Edge Functions for AI extraction
  • TanStack Query for data fetching

Running locally

Prerequisites: Node.js 18+ (or Bun), a Supabase project with the schema applied.

# Clone the repo
git clone <YOUR_GIT_URL>
cd DeadlineOS

# Install dependencies
npm install        # or: bun install

# Set environment variables
cp .env.example .env
# Fill in VITE_SUPABASE_URL and VITE_SUPABASE_PUBLISHABLE_KEY

# Apply the database schema
npx supabase db push   # or apply supabase/migrations/ manually in the Supabase dashboard

# Start the dev server
npm run dev        # or: bun dev

The app runs at http://localhost:5173 by default.

Environment variables

Variable Description
VITE_SUPABASE_URL Your Supabase project URL
VITE_SUPABASE_PUBLISHABLE_KEY Your Supabase anon/public key

Set these in a .env file at the project root. Do not commit this file.

Database

The schema lives in supabase/migrations/. Two tables are created:

  • deadlines — stores all captured deadlines with fields for title, course, due date/time, task type, source type, confidence score, status, and notes
  • reminder_settings — single-row config for per-type lead hours and weekly digest toggle

Row Level Security is enabled with open policies (no auth required for this MVP).

Supabase Edge Functions

Two edge functions live in supabase/functions/:

  • extract — receives { sourceType, rawInput } and returns structured deadline items extracted by an LLM
  • export-ics — generates an ICS calendar export

Deploy them with:

npx supabase functions deploy extract
npx supabase functions deploy export-ics

Available scripts

npm run dev          # Start development server
npm run build        # Production build
npm run preview      # Preview production build locally
npm run lint         # Run ESLint
npm run test         # Run tests once
npm run test:watch   # Run tests in watch mode

About

15.785 Introduction to Product Management Spring 2026

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors