Back to Harun Cusp

Web App

Cusp

Point it at one topic, bring the AI you already pay for, and it paces the learning for you. Free, no account, runs in your browser.

Free
  • TypeScript
  • React
  • PWA
  • FSRS
  • Local-first

Most study tools give you a pile of cards and leave the thinking to you. Cusp gives you a course: what to learn, what to practise, what to ignore, and the exact day each thing is about to slip out of your head.

It never calls a model itself. The app writes a prompt, you paste it into whatever AI you already pay for, and you paste the reply back. That single decision is what makes it free to run, private by default, and independent of any vendor.

One topic at a time

Ask a model for a whole semester and it spreads itself thin: a handful of shallow questions per subject, and half an hour of saying “continue”. Ask it for one topic and it goes deep. So a topic is the unit here, and a course is what you have after doing that a few times.

Nothing is required to start. No syllabus, no term, no timetable. A lecture you have slides for and a subject you simply want to understand go in the same way, and each new topic is added to what is already there rather than replacing it, so a course grows at whatever pace you actually study.

Two clocks that never merge

New material is measured in steps: numbered, self-paced, and yours to pull as far forward as you like. Reviews are measured in dates, scheduled by FSRS for the day a thing is about to be forgotten, and they cannot be rushed: reviewing a card four times today buys nothing that one well-timed review does not.

Every other study app collapses these into one queue and then either nags you with a calendar or buries you in cards. Keeping them apart is what lets someone cover ground as fast as they like without wrecking what they already know.

It tells you what to skip

Every item is graded core, apply, aware or skip, and the app treats each differently. Core is rehearsed indefinitely, apply retires after two clean passes, aware is shown once, skip is never scheduled at all. A pack where everything is critical is a failed pack, and the importer says so on the way in.

Practice, not flashcards

Thirteen item types, picked to fit the subject. Labs that send you out to your own editor and check what you bring back. Code that runs against real tests in a sandboxed worker. Worked problems with fading scaffolds, cases, comparisons, teach-backs. You commit to a confidence level before the answer appears, so the app can show you where you are confidently wrong. That is the material that actually costs marks.

Built to survive messy input

The importer repairs whatever a model produced rather than rejecting it: code fences, stray commentary, pretty-printed objects, trailing commas, smart quotes, a JSON array where JSONL was asked for. One broken line never takes the good lines with it, and importing a topic never costs you the topics already there. Most of the test suite lives on that path, because it is the one screen a new user judges the whole product by.

Everything stays on the device. No account, no server, no API key.

↑↓ move Enter open Esc close