How metalha516/procastinot works
ProcastiNot is a student focus web app whose main workflow is starting a Pomodoro session, optionally pairing it with synthesized focus audio, and recording completed focus for personal progress and rewards. Its broader features include circadian task planning, exam preparation, distraction interventions, and gated study-community and telemetry views. The app wires providers in src/App.tsx; README-described UI connections supplement the sampled source, while unsampled backend-like features are not represented as external services. The project describes rooms and peer features, but the supplied evidence does not establish a live networking service.
Main entry points: GamificationContext.tsx Gamification State · TimerContext.tsx Timer State · App.tsx App Providers · Shell.tsx App Shell
Components 27
App Shell
- App Providers
src/App.tsx - App Shell
src/components/layout/Shell.tsx - Auth State
src/context/AuthContext.tsx
Focus Session
- Pomodoro Timer
src/components/timer/PomodoroTimer.tsx - Timer State
src/context/TimerContext.tsx - Gamma Controls
src/components/timer/GammaWaveControls.tsx - Audio Engine
src/audio/gammaEngine.ts
Academic Planning
- Study Planner
src/components/planner/AIStudyPlanner.tsx - Circadian Organizer
src/components/planner/CircadianOrganizer.tsx - Exam Countdown
src/components/planner/ExamCountdown.tsx - Task State
src/context/TaskContext.tsx
Shield And Rewards
- Distraction Blocker
src/components/distraction/DistractionBlocker.tsx - Second Thought
src/components/distraction/SecondThoughtModal.tsx - Browser Shield
src/hooks/useBrowserShield.ts - Browser Companion
public/extension/background.js - Gamification State
src/context/GamificationContext.tsx
Student Features
- Feature Gate
src/components/auth/AuthFeatureGate.tsx - Sign In
src/components/auth/AuthModal.tsx - Overview Dashboard
src/components/dashboard/OverviewDashboard.tsx - Streak Heatmap
src/components/gamification/StreakHeatmap.tsx - Performance Curve
src/components/gamification/PerformanceDeltaCurve.tsx - Leaderboard
src/components/gamification/LeaderboardArena.tsx - Focus Rooms
src/components/rooms/VirtualFocusRooms.tsx - Reward Shop
src/components/gamification/RewardShop.tsx
Other components
- Student
- Web Audio API
- Timer Broadcast
Connections 29
- Student → App Shell: uses
- App Providers → App Shell: renders
- App Providers → Auth State: provides
- App Providers → Task State: provides
- App Providers → Gamification State: provides
- App Providers → Timer State: provides
- App Shell → Pomodoro Timer: presents
- Pomodoro Timer → Timer State: controls
- Gamma Controls → Timer State: updates settings
- Timer State → Audio Engine: controls audio
- Audio Engine → Web Audio API: synthesizes with
- Timer State → Timer Broadcast: synchronizes tabs
- Timer State → Gamification State: reports completion
- App Shell → Feature Gate: gates features
- Feature Gate → Auth State: checks access
- Sign In → Auth State: authenticates
- Study Planner → Task State: uses tasks
- Circadian Organizer → Task State: uses schedule
- Exam Countdown → Task State: uses deadlines
- Distraction Blocker → Browser Shield: intercepts links
- Browser Shield → Gamification State: records interception
- Browser Companion → Browser Shield: redirects to app
- Second Thought → Gamification State: records intervention
- Overview Dashboard → Gamification State: reads progress
- Streak Heatmap → Gamification State: reads streaks
- Performance Curve → Gamification State: reads performance
- Leaderboard → Gamification State: reads standings
- Focus Rooms → Gamification State: uses engagement
- Reward Shop → Gamification State: uses rewards