Back to projects

Claustrum

Academic platform for checking ITCR curriculum plans, building schedules, and reviewing professor feedback.

Context

Claustrum addresses a specific academic workflow where planning an ITCR semester often means checking curriculum plans, schedules, prerequisites, and professor references across separate sources, so the app brings that information into a single experience.

The landing page is available at claustrum.maugp.com, while the application itself starts at claustrum.maugp.com/overview. From there, students can review progress, build schedules, inspect the curriculum map, and compare reviews before enrolling.

Technically, the frontend connects to Supabase for Postgres, functions, and REST API operations, which keeps read and write flows covered without maintaining a dedicated backend for this use case.

Screenshots

/overview screen with general progress, credits, and upcoming courses.
Schedule builder with class selection, conflict validation, and weekly calendar view.
Curriculum plan with course status, prerequisites, corequisites, and course relationships.
Professor list with search, filters, and student review metrics.

Tech stack

ReactViteTypeScriptSupabaseCloudflare Pages

Key points

  • The schedule builder lets students pick class sections, detect conflicts, and review the weekly distribution without leaving the planning flow.
  • The curriculum view connects courses, requirements, and progress status so students can understand what they have completed and what they can take next.
  • The professor module gathers reviews and ratings, adding context when choosing courses and class sections.

Learnings

  • The project helped me design a frontend-first architecture connected to managed services while keeping complex academic flows understandable on the client side.
  • It also required modeling real academic relationships between courses, plans, class sections, and professors, then exposing safe operations through functions and REST endpoints.
  • Finally, deploying it as a SPA reinforced decisions around performance, navigation, and maintainability as the amount of academic data grows.