Real-time AI learning intervention system that observes behavior, detects risk patterns, and intervenes live with context-aware guidance.
Procrastination is a huge unsolved problem that affects many high school and college students today. Most learning tools are passive and only react after performance drops.
Tether is built to intervene in the moment.
Tether monitors live work behavior across coding, studying, writing, and browsing contexts, then detects:
- distraction / inactivity
- procrastination patterns
When risk is detected, it triggers actionable interventions in real time.
Tether is not a passive tutor chatbot.
It is a behavior-first intervention system that:
- senses what is happening now
- explains why risk is increasing
- proposes the best next action
- tracks whether the action improved outcomes
- Context-aware behavior tracking:
- typing speed
- pause duration
- idle duration
- repeated actions / edit churn
- tab switches
- scroll behavior
- time on task
- Strict inactivity detection:
- 60s first inactivity trigger
- ~150s follow-up inactivity threshold (2nd+ trigger)
- "Distraction / Inactivity" intervention
- 3-minute follow-up reminder when ignored
- Live intervention actions:
- Lock In (2 min focus)
- Resume Task
- Ignore
- Break into Steps
- Try New Approach
- Grades & Risk module:
- baseline grade + 6 course-grade slots
- risk scoring and trend
- outcome prediction
- recovery actions
- Browser notification controls:
- notification mode (Normal / Focus / Chill)
- reminder log
- browser permission status
- Session dashboard:
- intervention history
- timeline
- focus/risk improvement metrics
- Frontend: React + Vite + Recharts
- Backend: Node.js + Express + OpenAI SDK
- Extension: Chrome Extension (Manifest V3)
- Runtime storage: in-memory/local storage (hackathon optimized)
Tether/
backend/
src/
server.js
detectionEngine.js
aiService.js
knowledgeGraph.js
sessionStore.js
frontend/
src/
pages/
WorkspacePage.jsx
DashboardPage.jsx
lib/api.js
styles.css
vercel.json
extension/
manifest.json
icons/
nudge-128.png
src/
background.js
content.js
popup.html
popup.js
.env.example
package.json
- Install dependencies
npm install- Configure environment
cp .env.example .envSet at least:
OPENAI_API_KEY(optional, recommended)OPENAI_MODEL(defaultgpt-4.1-mini)PORT(default8787)CLIENT_ORIGIN(defaulthttp://localhost:5173)VITE_API_BASE(defaulthttp://localhost:8787)
- Run frontend + backend
npm run dev- Frontend: http://localhost:5173
- Backend: http://localhost:8787
- Start a session from the homepage.
- Work normally for 20–30 seconds.
- Stop all activity for ~60 seconds.
- Observe "Distraction / Inactivity" intervention + notification.
- Click Lock In (2 min focus).
- Watch risk/focus improve in timeline and dashboard.
GET /api/healthGET /api/context/profilesPOST /api/session/startPOST /api/session/:sessionId/metricsPOST /api/session/:sessionId/intervention-actionPOST /api/session/:sessionId/endGET /api/session/:sessionId/summary
The extension in extension/ can:
- monitor behavior directly on websites,
- run live detection in a background worker,
- show interventions in an on-page floating widget,
- show metrics/timeline in popup view.
- Open
chrome://extensions - Turn on Developer mode
- Click Load unpacked
- Select the
extensionfolder - Reload any target tab
- Browser notifications are real when permission is granted.
- Reminder sequence supports 1st alert immediately, then follow-ups at 3 and 8 minutes.