← All projects
Productivity

OathLock

An app and website blocker you can't back out of. Pick what distracts you, set a timer, take the oath.

Role
Design, apps, extension & backend
When
2026
Platforms
Android · iOS · Chrome · Windows
Status
Beta, launching soon
4platforms kept in sync: Android, iOS, Chrome, Windows
90 dayslongest session, with no way to back out
Secondsfor a phone session to lock your browser

Overview

OathLock is a self-control app for people whose willpower gives out at the worst moment. You decide once, while your head is clear: choose the apps and websites that pull you in, pick a length from 15 minutes to 90 days, and take the oath. Until the timer ends, blocked apps close the moment they open, blocked sites show a calm quote instead of the feed, and everything unlocks on its own when time is up.

Most blockers have an off switch one tap away. OathLock is built so the version of you who set the timer stays in charge: uninstall protection during a session, a cooldown and typing challenge before an early exit in Normal mode, and no exit at all in Strict mode. It is as strong as Google Play, App Store and Chrome Web Store policies allow.

It is private by design, with no ads and no tracking, and blocking happens on the device. An optional account links your devices, so a session started on your phone locks Chrome within seconds and the other way round.

Screens

A blocked YouTube tab showing a Marcus Aurelius quote and a countdown
Blocked sites show a quote instead of the feed
Starting a session with length presets and Strict mode
Pick a length and take the oath
Extension popup with a session running
A session in progress
Settings locked during a session
Settings lock while the oath runs

What it does

Block any app

Social media, games, video. Blocked apps close the moment they open.

Block websites everywhere

Whole domains and subdomains in Chrome, Samsung Internet, Firefox, Edge, Brave, Opera and Safari.

Strict & Normal modes

Strict has no early exit. Normal makes you wait out the urge with a cooldown and a typing challenge.

Uninstall protection

App deletion is blocked during a session using iOS Screen Time and Android device admin.

Only gets stricter

You can add sites mid-session but never remove them, and switching protection off records a broken oath.

One oath, every device

Optional sign-in (email code, Google, Apple) syncs sessions and block lists across phone and browsers.

Desktop helper

A Windows companion keeps the extension installed and disables incognito and guest windows during a session.

Streaks & history

Kept and broken oaths, streaks, and saved block lists for study, work or bedtime.

Engineering highlights

  1. Tamper resistance on four platforms

    Native Kotlin (Accessibility Service, Device Admin, boot restore) and Swift (FamilyControls, ManagedSettings, DeviceActivity with three app extensions) do the blocking. Flutter is only the control panel, so blocking keeps working after a reboot or when the app is killed.

  2. "Only stricter" merge rules, enforced server-side

    A session can only get a later end, more sites, or stricter mode. The same monotonic merge runs in Postgres RPCs (behind row-level security), the Chrome extension and the Windows helper, so no client can weaken an active oath.

  3. Real-time cross-device locking

    Supabase Realtime, a one-minute alarm in the extension and Firebase Cloud Messaging data pushes from an Edge Function work together, so other devices lock within seconds.

  4. Working around platform limits

    iOS DeviceActivity rejects long intervals, so 90-day sessions are monitored in chunks of up to 7 days. Screen Time app tokens can't leave the device, so only websites sync across devices.

  5. Privilege separation on Windows

    A SYSTEM scheduled task enforces Chrome/Edge/Brave policies. Users can only drop requests into an inbox, so nothing they write can shorten a session.

Tech stack

  • Flutter
  • Kotlin
  • Swift
  • Chrome Extension (MV3)
  • Supabase
  • Postgres RLS
  • Firebase Cloud Messaging
  • Pigeon
  • Riverpod
  • Codemagic

Want something like this built?

Tell me about your idea and I'll get back to you.

msiddiq17328@gmail.com