Skip to content

romeet9/CATalyst

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 CATalyst

A native macOS study companion for CAT & XAT aspirants

Plan your prep, track every subtopic, schedule study blocks, and clock the hours — all in one calm, glassy Mac app.

Platform Swift SwiftUI SwiftData


CATalyst is a focused, offline‑first desktop app for people preparing for India’s MBA entrance exams (CAT and XAT). It turns a huge, intimidating syllabus into something you can actually work through: a readiness score you can watch climb, a daily task list, a weekly planner, and a built‑in study timer that logs every session.

No accounts, no cloud, no distractions — just your prep, stored locally on your Mac with SwiftData.

CATalyst dashboard


Contents


📸 Screenshots

Dashboard

Your morning at a glance — a rotating motivational quote, today’s tasks, your study streak, per‑section readiness, and overall progress across the full syllabus.

Dashboard

Syllabus

Every section (VARC, DILR, QA, and XAT‑specific Decision Making) broken down into topics and subtopics. Mark subtopics as mastered and watch each section’s readiness update live.

Syllabus

Today

A clean daily task list with a quick‑add field and a progress ring. Add a task in one line, or open the detailed editor for notes, sections, and scheduling.

Today

Schedule

A weekly planner. Drop study blocks onto any day, jump between weeks, and build a recurring routine that generates blocks for you.

Schedule

Activity

Every study session you clock with the Punch Clock timer, laid out on a dated timeline — your honest record of hours put in.

Activity


✨ Features

  • Readiness scoring — overall and per‑section (VARC · DILR · QA · Decision Making), computed from the subtopics you’ve mastered out of the full 72‑subtopic syllabus.
  • Exam filter — flip the whole app between All · CAT · XAT so you only see what matters for your target exam.
  • Today view — quick‑add tasks inline, or open a full editor. A ring shows how much of today you’ve cleared.
  • Syllabus tracker — drill into any section → topic → subtopic and mark mastery; progress ripples up to the dashboard.
  • Weekly schedule — plan study blocks per day, navigate week to week, and use the recurring planner to auto‑generate a routine.
  • Punch Clock — a study timer that lives in the sidebar; punch in to start a session, punch out and it lands in your Activity log.
  • Activity timeline — a dated history of every session, with durations and totals.
  • Native glass design — built for the latest macOS with a dark, translucent, distraction‑free aesthetic and subtle haptics.
  • 100% local & private — all data lives on‑device via SwiftData. No sign‑in, no network, no telemetry.

🎯 Why CATalyst

Most aspirants juggle prep across spreadsheets, sticky notes, and generic to‑do apps. CATalyst is purpose‑built around the CAT/XAT syllabus:

  • The syllabus is pre‑seeded — you don’t set up sections and topics, you just start tracking.
  • Progress is measurable — “readiness %” beats a vague feeling of being behind.
  • Effort is logged automatically — the Punch Clock turns study time into a visible streak.

🧱 Tech stack

Area Choice
Language Swift 6.2
UI SwiftUI (NavigationSplitView, custom glass components)
Persistence SwiftData (ModelContainer, on‑device)
Platform macOS 26+
Packaging Swift Package Manager executable → .app bundle

🚀 Getting started

Prerequisites: macOS 26+ and Xcode 26+ (Swift 6.2 toolchain).

# clone
git clone https://github.com/romeet9/CATalyst.git
cd CATalyst

# build & run the app bundle (kills old instances, packages, relaunches)
./Scripts/compile_and_run.sh

# …or just build the binary with SwiftPM
swift build -c release

To produce a distributable .app:

./Scripts/package_app.sh release

The bundle is written to CATalyst.app in the project root.

🗂️ Project structure

Sources/CATalyst/
├─ CATalystApp.swift        # @main App, SwiftData ModelContainer + seeding
├─ Shared/                  # RootView (split nav), Theme, PunchClock, glass UI, rings
├─ Models/                  # SwiftData models (see below) + ExamFilter, enums
├─ Persistence/             # SyllabusSeed (pre-seeded syllabus), Maintenance
└─ Features/
   ├─ Dashboard/            # greeting, quote, streak, readiness cards
   ├─ Today/                # task list, quick-add, task editor
   ├─ Syllabus/             # section → topic → subtopic mastery
   ├─ Schedule/             # weekly planner, block + recurring editors
   └─ Activity/             # study-session timeline
Scripts/                    # compile_and_run, package_app, launch, make_icon

🗃️ Data model

CATalyst persists everything locally through SwiftData:

Model Represents
ExamSection A top‑level section (VARC, DILR, QA, Decision Making)
Topic / Subtopic The syllabus tree under each section, with mastery flags
StudyTask A to‑do item (daily or scheduled)
ScheduledBlock A planned study block on the weekly calendar
StudySession A logged Punch Clock session (start, end, duration)
PatternEntry Study‑pattern data behind streaks and stats

On first launch the syllabus is seeded automatically, so the app is useful the moment it opens.


🤖 Built with Claude Code

About

Native macOS study companion for CAT & XAT aspirants — syllabus tracking, scheduling, and a built-in study timer. SwiftUI + SwiftData.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors