Inspiration

There are plenty of apps that limit your time in addictive apps. The issue was never in them, but in me: at 22:47, faced with a "5 more minutes" button, I press it. Timers, delays, "are you sure?" alerts: you learn to swipe through all of it without even noticing.

What I wanted was the opposite: something fun and useful, living in your widgets and your calendar, so you never have to think about the app again.

But fun alone cannot stop you from tapping "Ignore for 15 minutes" late at night. I've learned to take buttons for granted, so this app asks for something no button can give: a conversation.

A conversation with something or someone that makes unlocking harder, but not impossible, and forces you to reflect on your choice.

A conversation with one of Les Gardiens:

  1. One of six AI personas that argue with you.
  2. A human, an accountability friend, who sees you, cheers for you, and vouches for you and can approve your requests when needed.

What it does

Les Gardiens of Silence is an iOS app that blocks apps and websites and makes unblocking hard.

Blocking is deliberately frictionless:

  1. One tap from the Home Screen widget. Predefined duration: from 15 minutes to forever. No opening the app, no ceremony. Tap, and it's quiet.
  2. Blocks that follow your calendar. Pick the calendars that count and every event becomes a block, or narrow it down with a keyword.
  3. Scheduled blocks. Set up weekly schedules. You plan once, and Les Gardiens keep it.

Unblocking is where the Gardiens make it harder.

They come in two kinds:

  1. An AI doorman. Need WhatsApp for five minutes? Negotiate it with a character that has a name, a temper, and rules it will follow. Saying "I want to check if she replied" out loud to something that answers back is nothing like tapping a "5 more minutes" button in silence.

  2. A human. Pair with a friend you trust. To unblock early, you send them a request and they approve or decline, so you get a moment to think twice. They see whether you kept your word, and they see when you didn't need one at all. Someone to answer to, but also someone in your corner.

There are six characters, arranged on a grid of how hard they are to convince × whether they're nice about it:

Nice Not nice
Easy Théo - ex-spin-class instructor. Any concrete reason gets a "magnifique!" and the apps open. Begging gets encouragement forever and never a "no". Brume - a wisp of theatre fog. Cryptic and indifferent: a concrete reason drifts through the mist, a vague one dissolves in it.
Moderate Lou - ex-bartender, twelve years of "just one last one". Roasts you first, then lets a real need through. Céleste - ex-accountant, serene. Opens only when the file is complete: what, why, and for how long.
Hard Margaux - ex-sommelière at a Bordeaux estate. Warm and exacting: work and real obligations only, everything else declined with regret. Ernst - Berlin club bouncer. Replies in German, two sentences max. Ramble and you're out.

How we built it

"We" is one person and a fleet of AI agents.

It was a grueling after-hours work for 10 weeks, ~1,400 commits, ~68k lines of Swift with tests, and 762 operational docs. Of course, many were wrong, many got refined ten times, and there were even more regressions.

The app is created entirely by me, with practically everything built by AI, though rarely in interactive claude or codex sessions. Most of the work went through my own AI orchestrator (inspired by Gas Town) that takes simple wishes tickets and turns each one into a full spec, an implementation, tests and an audit.

My job was writing good tickets wishes, reviewing, and having taste.

It is one iOS app target plus four extensions: widgets, DeviceActivity monitor, app shield configuration and shield action.

  • Apple's Screen Time stack (FamilyControls + ManagedSettings + DeviceActivity) does the actual blocking, entirely on-device. The core function needs no network at all.
  • Le Gardien routes to Apple Intelligence on Private Cloud Compute in iOS 27, or to a small backend using OpenRouter otherwise.
  • Supabase (anonymous auth) carries the friends plane. No account, no email, no iCloud requirement, no Sign in with Apple.
  • RevenueCat for the Les Gardiens Pro subscription.

Shipping in six locales: English, French, Spanish (ES + LatAm), Portuguese (BR + PT).

Challenges we ran into

My first draft of this section said "Challenges? Nah, not that many," which tells what shipping does to the memory. The real list:

Screen Time fought back. The framework that makes the app possible is also the hardest thing in it. Much of the work was discovering, by experiment, what it actually allows, spread across four extension targets that can't be poked at like a normal app.

On-device AI is not enough. The plan was to use Apple's on-device model only, but on iOS 26 it was barely usable for a rule-bound, in-character negotiation. It started to work only when the guardian moved up to Private Cloud Compute on iOS 27, with the OpenRouter-backed proxy as the fallback. Night and day compared to the on-device model. But trying to make the on-device model work wasted a lot of time.

iCloud lost its job. The friends feature was meant to use iCloud, but I replaced it with Supabase after long UX struggles. It still allowed pairing friends without an account, email or Sign in with Apple.

UI with AI and no designs. I'm not a designed and I don't have one. I do have practice as a developer and user, but it's not the same, so I had to negotiate with AI about it. An agent will produce forty plausible screens and hold no opinion about which one is right. Without mockups to point at, design big picture and small details became a huge problem, and a large share of those 1,400 commits are the same screen getting less wrong.

And beneath all of that were countless smaller struggles. None deserved a paragraph of its own, but all combined burned weeks.

Accomplishments that we're proud of

The negotiation with AI actually works. People argue with Ernst. They come back and tell me what he said or that they cheated him. Never heard a story about a countdown timer ;-)

One person shipped all of it. Ideation, design, illustration, QA, App Store, all the features: blocking, calendar-driven schedules, a social plane, an AI negotiation, four extensions, six locales, subscriptions. All the infrastructure: snapshot tests, CI, auto builds, auto-recording of app previews in six languages.

All in ten weeks only after hours, and one person. OK... one person and AI agents. I wouldn't even start without them.

Coherent product. What started as "hmm, good idea, let's give it a try" ended up as a full and polished product.

What we learned

This project was also an experiment in what's possible with a pure AI approach. I proved to myself that building a pretty complex app is possible, but it takes a solid framework, know-how, and clear expectations.

And one unexpected lesson: it's still a lot of fun!

What's next for Les Gardiens of Silence

Feature-wise, it's a solid 1.0 version, far beyond initial MVP.

On the shortlist are:

  • Voice conversations
  • Siri AI in iOS 27
  • Paying to unlock apps, with proceeds going to dog charities
  • Make AI optional

And... marketing.

Built With

  • calendar
  • focus-time
  • ios
  • screen-time
  • widgets
Share this project:

Updates