Should I vibe code
macOS focus sessions combining goals, timers, and distraction blocking
Serene's website now redirects to the agency that built it. You can't buy this one, so you may as well build it.
?
Their verdict, the Personal (final list price, historic) price and the build-time estimate come from their entry, MIT-licensed. Checked 2026-08-04.
?
Our verdict, the regret score and everything below it. Editorial and unsponsored — nobody can pay to be moved.
The honest answer
why the verdict is what it is
The usual closing argument on this site is "just pay the four dollars", and here there is nobody to pay it to. sereneapp.com now redirects to Venture Harbour, the agency that built it; the pricing page 404s; the Archive shows the marketing site alive at the start of 2025 and a hosting placeholder by the start of 2026. So the question is not whether your version would be as good as Serene's. It is whether you want the thing at all, and the thing was small: name one goal for the day, split the day into timed sessions, block a list of apps and hostnames while a session runs, take a timed break, look at a weekly summary. That is a menu-bar app, a countdown, a text file of blocked hosts and a SQLite table, all of it local, all of it single-user, and none of it touching anyone else's data or uptime. Build it. The one place to be careful is the blocking, because that is the only part with a privileged foot in the system: whatever you edit to block a site — /etc/hosts, a DNS setting, a browser extension — has to come back out reliably when the session ends, when the app crashes, and when you delete the whole thing in three weeks having lost interest. Write the removal path first and the rest is a pleasant Sunday.
What actually breaks
not "if". the specific failures.
- The unblock, which is the only genuinely bad failure available here. Crash mid-session with entries still in /etc/hosts and a hostname stays pointed at 127.0.0.1 for weeks — and the day it is your VPN endpoint or your identity provider, you will spend an hour debugging the network
- The session timer across sleep. Close the lid at minute nine of twenty-five and a naive countdown either finishes instantly on wake or never finishes at all
- macOS permissions, every September. Accessibility, Screen Recording and Automation prompts move between releases, and app-level blocking depends on all three
- Browser blocking, which /etc/hosts does not cover cleanly once a tab is already open, a service worker is running, or the site is behind a CDN that also serves things you need
- The insights screen, quietly, if session records are written only on completion. Every abandoned session vanishes and your history flatters you
- Your interest, around week three, which is the real end state of every self-built focus tool and the reason to keep the whole thing deletable
Is that you?
the verdict is a default, not a law
- It runs on your Mac, for you, and nothing leaves the machine
- The blocklist and the session history live in files you can open in a text editor
- Blocking is removable without the app running — a documented command, or a plain file you can edit by hand
- You wanted the planning half as much as the timer half, because that is the part Serene was actually about and the part nobody else bundles
- The design has reached for a system VPN profile, a DNS override or a local certificate authority to catch browser traffic — that is the Freedom entry's problem and it is not worth it for a personal timer
- Blocking is meant to be hard to remove, which is a description of software you should not run on the machine you bank from
- Sessions, goals or app usage sync to a server, because you have then built a minute-by-minute log of your working life with an API in front of it
- It is going on somebody else's machine
If you build it anyway
the checklist, then the prompt that enforces it
- Write the unblock path before the block path, and give it a command-line escape hatch that works when the app is not running or has crashed.
- Keep a permanent never-block list: your VPN client, your identity provider, your authenticator, your employer's tooling. A focus timer that locks you out of two-factor is a bad afternoon.
- Fail open. If the app crashes, is force-quit, or cannot read its config, remove every block and say so on next launch rather than leaving them applied.
- Store blocks as a marked, self-describing block in whatever file you touch, so a human can find and delete them with a text editor and no context.
- Base the timer on wall-clock deadlines rather than tick counting, and decide explicitly what sleep, lid-close and a timezone change should do.
- Record a session row when it starts, not when it finishes, or your history will only contain the sessions you were already good at.
- Keep it local. There is no account, no sync and no server, and the value of that is exactly the value of the data you are not collecting anywhere.
I want a macOS focus app: one goal a day, timed work sessions, app and website
blocking, timed breaks, a weekly summary. It is for me alone. Build it in this
order and argue with me where noted.
1. Build unblocking first. Before anything can be blocked, there must be a
command I can run with the app closed that removes every change this program
has ever made to my system. Test it by breaking the app deliberately.
2. Write any change into a system file as a clearly marked, commented block, so
I can find and delete it by hand at 9am with no memory of how this works.
3. Maintain a never-block list I can edit — VPN, identity provider,
authenticator, work tooling — and refuse to block anything on it even if I
ask during a session.
4. Fail open everywhere. Crash, force-quit, unreadable config, panic: remove all
blocks and tell me on next launch. Never leave restrictions applied.
5. Refuse a system VPN profile, a DNS override or a local certificate authority
to catch browser traffic — that is a permanent security cost on the machine
I bank from. Offer a browser extension, and never make blocking hard to
remove: I am both the user and the target here.
6. Then the timer, and use wall-clock deadlines rather than counting ticks.
Tell me explicitly what happens on sleep, lid close, restart, a timezone
change and a session that crosses midnight, before writing the UI.
7. Write the session row at start, update it at end. I want the abandoned
sessions in my history, because those are the interesting ones.
8. Everything on disk in plain files I can read: goals as text, sessions as
SQLite or JSONL, the blocklist as a list. No proprietary container.
9. No account, no server, no sync, no telemetry. If I ask for sync later, tell
me what I would be uploading: a minute-by-minute record of when I was
working, for the rest of my life.
10. Out of scope: iOS, Windows, team features. Note that Serene shut down
during 2025, so there is no subscription to compare this against — the
nearest live options are Session at $4.99 a month or the free SelfControl.That one keeps you out of trouble. For the prompt that actually builds it, canivibecodeit.com has one.
their build prompt ↗Or don’t build it
the boring option, and the way back out
You cannot — Serene is gone, and that is the unusual thing about this entry. If what you wanted was the whole bundle, the closest live equivalents are Session at $4.99 a month for the timer, planning and analytics side, or Opal if the problem is your phone rather than your Mac; both have entries here and both are rated more cautiously than this one, for reasons that are about their products rather than about you. If the blocking is all you needed, SelfControl is free, has done exactly one thing since 2009, and does the part everyone gets wrong — a timer you genuinely cannot cancel — better than your first attempt will.
Deleting the app should be the whole exit, and it is if you built the unblock path first: an uninstall that removes every system change it made, plus a folder of plain files you can read without it. Keep goals as text, sessions as SQLite or line-delimited JSON, and the blocklist as a list, and there is nothing to migrate — you either keep the folder as a record of a year of work or you throw it away. The single thing worth verifying before you stop using it is that no blocks are left behind, because the failure that outlives the project is a hostname still pointing at localhost long after the app is gone.
Cross-platform Pomodoro app with session settings and desktop notifications, still receiving commits.
Free macOS blocker that solved the hard half — a block that survives restarts and deleting the app — and nothing else.
Questions
How confident are you that Serene is actually dead?
Confident. As of 2026-08-05 both sereneapp.com and www.sereneapp.com return a 301 to ventureharbour.com, the agency whose venture timeline lists Serene as a 2018 launch, and sereneapp.com/pricing returns 404. The Internet Archive has the marketing site intact on 2025-01-02, a WP Engine "domain not associated with any active site" placeholder on 2026-01-04, and the redirect by June 2026. We have not found a shutdown announcement, which is its own data point: this is what most small products do instead of writing one.
Freedom is YOUR FUNERAL and this is SHIP IT. Same idea, isn't it?
Same idea, very different scope. Freedom's page is about what enforcement costs: a privileged helper that survives reboots, a system VPN profile to catch browser traffic, and a synced blocklist that is one of the most revealing documents anyone owns. Serene's version of blocking was for a person who wanted it, on their own Mac, for an hour. Keep it at that scope — no VPN profile, no certificate authority, nothing that resists you — and there is genuinely nothing here that can hurt anybody.
What is the one thing to get right?
Removal. Every other bug in this project costs you a bad session; leaving blocks behind costs you an afternoon debugging your own network, and it happens exactly when the app is not running to explain itself. Build the unblock command before the block command, mark whatever you write into system files so a human can find it, and make crashing remove restrictions rather than preserve them.
Every week, someone ships something they shouldn’t have.
New verdicts, the worst thing that landed in the trap, and the occasional incident report. No other email, ever.
The timer is four lines. The unbroken history across three devices is the product, and that's a sync engine.
Apple hands you the blocking API, then refuses to let your own app read the usage behind it.
A blocker only works if it is harder to remove than the urge to remove it. That is a description of malware.
last reviewed 2026-08-05 · verdict is editorial and unsponsored · shared entry data from canivibecodeit under MIT · not legal advice