Back to projects

Claustrum

Academic platform that centralizes ITCR curriculum plans, schedules, and professor reviews, organizing scattered data into interactive flows to help students make better enrollment decisions.

Context

This project originated from my experience mentoring incoming students at the Costa Rica Institute of Technology over the last two years, where I noticed they lacked an intuitive tool to explore available courses and build their schedules.

The official university sources display academic offerings in a confusing manner for new students and withhold access to the curriculum until after enrollment, making it incredibly difficult to visualize prerequisites and make informed decisions.

Although there were other student-made alternatives for schedule generation, I noticed that their user experience and graphic interface had significant room for improvement, so I decided to build a modern platform and release it as an open-source project under the MIT license.

Screenshots

Overview screen with general progress, credits, and upcoming courses.
Interactive schedule builder with conflict detection and weekly view.
Interactive curriculum map with course status, prerequisites, and relationships.
Professor directory with search, filters, and aggregated student reviews.
Detailed profile showing average ratings and specific feedback per course.

Tech stack

ReactTanStack StartTypeScriptSupabaseCloudflare Workers

Key points

Development of a smooth and intuitive interface that allows incoming students to explore their curriculums without needing prior institutional credentials.

Implementation of an interactive schedule-building system that streamlines decision-making and prevents scheduling conflicts ahead of the official enrollment period.

Publication of the source code under an open-source license to encourage technical collaboration and leave a useful tool for future generations of students.

Learnings

01

The main challenge was not building the frontend but rather designing and populating the database from scattered and non-normalized university systems, which taught me how to build highly robust extract, transform, and load (ETL) pipelines.

02

I learned how to structure bulk data retrieval by splitting processes between fixed catalogs and volatile course offerings, allowing for regular data updates without overwhelming the university's servers.

03

This project served as a hands-on laboratory to apply the theoretical concepts I was simultaneously learning in my Software Design course in a real-world scenario.