Study Operations · Two Operators

StudyForge
/ OPS

A shared operations deck for two people revising two entirely different syllabi — and holding each other to it.

◆ Thabo · BCom ◆ Naledi · Matric
React · Vite · Express · Postgres
01
The problem

Two syllabi.
One shared push.

2
Curricula, zero overlap
57
Topics to keep honest
0
Tools built for a pair

Habit apps track one person. Study planners track one course. Nothing tracks how well you actually know a thing — or lets someone else see you working.

02
The shape of it

Five tabs.
That's the whole app.

  1. 01
    Subjects
    Drill course → module → topic. Rate what you know.
  2. 02
    Together
    A shared, server-owned study clock. Plus games.
  3. 03
    Exams
    Scope a paper, score your readiness for it.
  4. 04
    Resources
    Timetable, files, deadlines, calendar sync.
  5. 05
    Stats
    Both of you, side by side, no hiding.
Subjects
Naledi
Your subjects7
Mathematics
2 papers · 11 topics
Physical Sciences
2 papers · 15 topics
Life Sciences
2 papers · 9 topics
Business Studies
4 papers · 15 topics
Subjects
Together
Exams
Files
Stats
03
Subjects · four levels deep

Everything narrows to one topic.

Mathematics

Mathematics

54%
Competency
11
Topics
Papers2
Paper 1
6 topics
48%
Paper 2
5 topics
61%
Paper 2
Topics5
Trigonometry
Comp72
Conf55
Euclidean geometry
Comp31
Conf22
Statistics
Comp80
Conf74
Analytic geometry
Comp58
Conf63
Euclidean
Competency31 · Needs work
Confidence22
Unclear items3
Cyclic quad proofs
Open
Ratio & similarity thm
Open
Tan-chord
Done
Sessions142 min
14 Aug · 45 min
Course → Module → Topic → Detail
04
The idea that makes it work

What you know
vs. what you think you know.

Every topic carries two independent 0–100 sliders. The gap between them is the whole diagnostic.

Conf > Comp

The dangerous one. You'll skip revision you needed.

Comp > Conf

You know it. You just don't believe it yet.

Competency Confidence
STATISTICS TRIGONOMETRY ANALYTIC GEO EUCLIDEAN GEO 0 50 100 ▲ over-confident
05
Together · the shared clock

The timer lives
on the server.

Lock your phone, background the tab, lose signal — the clock keeps running, because elapsed time is derived from a started_at row, never from whether your socket is alive.

Away ≠ stopped

Presence reports away while the session keeps counting.

Honest totals

Stop returns the authoritative duration — the client never invents one.

Together
Thabo
You
Studying
01:12:40
Naledi
Studying · away
00:38:05
Session running
01:12:40
Discard
Stop & log
Idle since 21:04 — trim the away time?
Subjects
Together
Exams
Files
Stats
06
Together · the break

A break you take with someone.

Three live-matched games sit behind the timer. Stop studying, play a round, go back — instead of drifting off into a feed alone.

Sudoku

Solo, co-op on one board, or race the same puzzle.

Connect Four

Turn-synced across both devices. Four in a row.

Hangman

Co-op guessing, or set each other the word.

07
Exams · readiness, not vibes

Scope the paper.
Score the gap.

Tick the topics an exam actually covers, then mark each one prepped as you finish it. Readiness is computed from your own competency scores — not from how many hours you sat there.

64%
Overall readiness · 12 days out
Exams
Naledi

Physical Sci P1

12
Days left
64%
Readiness
6/10
Prepped
ScopeComp · Prep
Mechanics
82Prepped
Momentum
76Prepped
Electric circuits
49Open
Doppler effect
28Open
Electrodynamics
31Open
Subjects
Together
Exams
Files
Stats
08
Stats · side by side, always

Two operators, one chart.

Thabo Naledi
180120600 MONTUEWED THUFRISATSUN
84min
Thabo · daily average
106min
Naledi · daily average
Mock data · seven-day window
09
Report card · what actually happened

Predicted vs.
marked.

Every returned test goes in with its mark, total and date. The app bands it — Distinction, Merit, Pass, Bare Pass, Fail — and surfaces your best module and your worst one without being asked.

Best module

Life Sciences · 78% average

Needs work

Mathematics · 51% average

ModuleMarkBand
Life Sciences P278/100Dist
Business Studies P169/100Merit
Physical Sci P158/100Pass
Mathematics P242/100Bare
OVERALL61.8%
10
Resources & calendar

Timetable, files, deadlines — in the same place.

Timetable

Lectures, tutorials and tests on a repeating weekly grid — once, daily or weekly.

Attachments

Past papers and notes pinned to the topic they belong to. Written through instantly, never batched.

Google sync

Optional two-way calendar link, so deadlines land where the rest of life already lives.

11
Gamification · derived, never stored

XP you can't
fake.

Level, streak and badges are recomputed from logged minutes and topic scores every render. There is no XP column to inflate.

7
Level · 3,410 XP
12
Day streak
5
Badges earned
✦ Week Warrior ✦ Level 5+ ✦ 3-Day Streak ✦ First Mastery ✦ 10 Sessions
12
Identity · fail-closed by design

You can watch. You can't write.

Signing in is per-device and never syncs. Viewing your partner's data drops the app into read-only observer mode — and every mutator refuses a write aimed at anyone but the signed-in profile.

Guarded writes

A mis-fired control no-ops and warns rather than corrupting the other person's data.

Observer mode

A persistent banner makes it obvious whose data you are looking at.

Clean handover

Switching profile stops the timer and leaves any live match first — confirmed, then swapped.

13
Architecture · offline-tolerant by default

Three layers,
no spinners.

  1. L1
    Local first
    State hydrates synchronously from localStorage — the UI paints before the network is consulted.
  2. L2
    Server reconciles
    One GET replaces local state; an echo-guard suppresses the PUT it would otherwise trigger.
  3. L3
    Debounced write-back
    Every change saves locally at once and syncs 800 ms later. Failures toast; the app keeps working.
Stack
ClientReact + Vite
APIExpress
StorePostgres
DeployRailway · single origin
StateOne context, guarded
14
Where else this fits

Any two people revising toward a date.

Study partners

Different courses, same deadline pressure. The shared clock is the accountability.

Parent & matric student

Observer mode gives visibility into readiness without letting anyone edit the record.

Tutor & tutee

Unclear items become the agenda for the next session. Competency tracks whether it landed.

Certification prep

Exam scope + readiness maps cleanly onto any syllabus with a fixed exam date.

15
StudyForge / OPS

Study is lonely.
This makes it a two-person job.

Competency over hours. A clock that can't be gamed. And someone on the other side of it.

npm run build · npm start · :3000
16
01 / 16