RepLock locks your screen at intervals and uses your camera to count reps. The discipline you've been faking, finally enforced.
RepLock sits in your menu bar, counting down. When it hits zero, your screen takes over — fullscreen, always on top, across every connected display.
Your camera activates. The AI pose model finds your body and counts each rep in real time. Push-ups, squats — whatever you've configured.
When the last rep registers, the screen releases. Your streak ticks up. The next break is already on the timer.
Local MediaPipe pose detection tracks your body in real time. Adaptive thresholds learn your range of motion. No internet needed — everything runs on your Mac.
Your day streak is front and center everywhere. It's the number you'll fear losing most. 12 days in, you won't dare skip — that's the point.
Full-screen, always-on-top, can't-be-dismissed overlay. This isn't a notification you swipe away. RepLock means it. Your screen is hostage until the reps are done.
Configure a queue of exercises with individual rep counts. Push-ups, then squats, then push-ups again. It rotates automatically. Drag to reorder anytime.
Zero servers. Zero uploads. Your camera feed is processed entirely on-device via WebAssembly. No account required. No data ever leaves your Mac. We don't even know you exist — and that's by design.
14-day free trial with full features. No credit card. Hit a 5‑day streak during trial and unlock the discounted lifetime deal.
30-day money-back guarantee · no questions asked
Three escapes, each with a different cost:
Snooze buys 10 minutes and preserves your streak. You get up to 5 per day (configurable 0–5, default 3).
Skip this set closes the lockout immediately but burns your streak — the button is even labeled "Skip set — ends X-day streak" so the cost is in your face.
Pause for today (from the menu bar) suspends all remaining sets until midnight without burning the streak — best when you know you're done for the day.
If you've turned on Hard Mode, snooze and skip are disabled. Pause for Today is your only escape until tomorrow.
Open the menu bar and hit "Pause for today" — RepLock stops triggering breaks until midnight, your streak stays intact, and you can resume tomorrow without missing a beat.
Automatic meeting detection (Zoom, FaceTime, Google Meet) is on the v1.x roadmap.
The pose detector uses fixed angle thresholds. Squats briefly calibrate to your top and bottom positions during the first 3 reps; push-ups use a fixed range and don't auto-calibrate.
If your camera is acting up, the lockout has a camera-picker dropdown to switch to a different device — rep progress carries across the switch.
If the camera is truly unusable, your fallbacks are Snooze (keeps streak), Skip (burns streak), or Pause for Today (keeps streak, kills the rest of the day's sets).
Technically yes — RepLock is a normal Mac app and you can cmd+Q it. But your streak is based on whether you complete a set on a given day, so quitting just abandons the current set. If you don't come back to finish a set before the day ends, the streak ends naturally.
The lockout itself is fullscreen and always-on-top across all connected displays — you can't drag a different window over it or escape to another monitor.
"Pause for today" in the menu bar suspends sets until midnight without ending your streak. For longer breaks (vacation, recovery from a real injury), you can quit RepLock — your streak ends naturally on any day with no completed set, and your stats and history stay intact on disk.
Multi-day pause / vacation mode isn't in v1 yet — it's on the roadmap.
Push-ups and squats at launch, both with full pose-detection rep counting. You can configure a rotation queue with custom rep counts per exercise and drag to reorder.
More exercises (jumping jacks, sit-ups, lunges) are on the roadmap — vote for what you want next via feedback.
Yes. The timer, pose detection, and rep counting all run on your Mac with zero network dependency. RepLock only talks to the internet for two things: license validation (on launch, when online) and update checks (on launch and every 12 hours). Both fail silently when offline — you won't get locked out, and your current license state is preserved.
Outside of an active break, RepLock is a small menu-bar timer with a negligible footprint — a 1-second tick and nothing else. The pose-detection model only runs during the actual break (typically 30–60 seconds), and runs entirely on your CPU/GPU via WebAssembly + MediaPipe. No background sync, no analytics threads, no telemetry pings.
At launch, RepLock will be a direct .dmg download from replock.app — signed and notarized by Apple, so Gatekeeper opens it cleanly with no scary warnings. Direct distribution (rather than App Store) is what makes the screen-lockout features possible; the App Store sandbox would block them.
RepLock auto-updates via GitHub Releases on launch and every 12 hours. Requires macOS 12 Monterey or later, on Apple Silicon or Intel.
RepLock is launching soon. Drop your email and we'll let you know the moment it's ready.
Bug report, feature idea, or just a thought — we read everything.