Project 18 of ~34

📜 Syllabus Archaeology — Architecture

University course syllabus database. SvelteKit + Deno + Supabase + Ollama (Mac Mini) for content extraction and synthesis.

🛠️ Tech Stack

ComponentTechnologyWhy
FrontendSvelteKitCourse search, syllabus viewer, comparison tool
BackendDeno 2Syllabus parsing, AI extraction, data normalization
DatabaseSupabase (PostgreSQL)Syllabi DB, courses, professors, user accounts
AIOllama (Mac Mini)Extract structured data from syllabus PDFs, synthesize scorecards
PDF ParsingPdfParse + customExtract text from uploaded syllabi
PaymentsStripeSubscriptions

🗄️ Data Model

syllabi
iduuid
course_iduuid (FK)
professor_iduuid (FK)
semestervarchar(20)Fall 2024, etc.
raw_pdf_urlvarchar(500)Stored in Supabase Storage
parsed_jsonjsonbAssignments, readings, grading rubric
workload_estimate_hrsintegerActual estimated hours/week
grade_distributionjsonb{% A: 30, B: 40, ...}
contributor_iduuid (FK)Anonymous contributor

🤖 AI Pipeline

Syllabus PDF → Structured Data
Ollama (Mac Mini) reads uploaded PDF. Extracts: assignments (type, weight, due dates), reading list, grading rubric breakdown, policies. Stored as structured JSON.
Scorecard Synthesis
Multiple syllabi for same course → Ollama synthesizes: "This class has 3 papers (40%), 2 exams (40%), and participation (20%). Workload is heavier than official credit hours suggest. Grading is tough but fair."
Professor Profile Aggregation
All syllabi for Professor X → aggregated teaching style profile, average workload, grading generosity rating.

Requirements  |  All Projects  |  Presentation →