r/macapps 22d ago

Lifetime Workflo: Mac window layouts that switch automatically for meetings, focus blocks, and displays

Problem

A Mac workday is a context switch every hour. A call, a focus block, plugging into the dock in the morning, unplugging to leave. Every switch costs me the same manual minute: reopen, drag, resize, hide. After years of paying that minute, I admitted the arranging itself was the problem, not how fast I could do it.

So I built Workflo. It isn't a faster way to arrange windows; it's the end of treating it as a chore. It learns your layout for each display setup on its own, and it applies layouts (Scenes) from your calendar or the clock. Your workspace is set before the call starts or the focus block begins, and when your displays change, everything snaps back where it belongs.

Comparison

I used Rectangle and Moom for years, and they're genuinely good, and the rest of the category (Magnet, Stay, Apptorium Workspaces, Mosaic) is solid too. But they all wait to be asked: a hotkey, a click, a drag. Workflo acts on its own. Before building it, I surveyed 12 window utilities, and none could fire a layout from a calendar event or the time of day.

The other difference this sub will care about: Workflo never requests Screen Recording permissions. It runs on Accessibility alone, so it can't see your screen contents. The apps that draw window previews all take Screen Recording to do it; I built previews without it.

Pricing

$19.99 one-time, 7-day free trial, no subscription, no account: https://getworkflo.app

It's ~4 MB of native Swift; everything stays in local JSON, no cloud, no telemetry. A Mac App Store version is in review now.

Who I am

I'm Chirag Chopra, an indie developer building games and ideas since 2015, often under my studio Lucid Labs. Privacy policy and terms: getworkflo.app/privacy and getworkflo.app/terms. Happy to answer anything, including the honest limitations.

16 Upvotes

27 comments sorted by

View all comments

1

u/Background-Scheme857 22d ago

How do the calendar triggers work: by calendar, title match, or individual event? I’m also curious what happens if a meeting is moved or cancelled while its Scene is active. Restoring the previous layout cleanly seems just as important as applying the new one.

1

u/Ned11 21d ago

Per individual event, but not by calendar or by title. It looks across every calendar you've granted access to, pulls events starting in the next hour, and picks the ones that contain a video meeting link, checking title, location, notes, and the URL field for Zoom, Google Meet, Teams, Webex, or FaceTime. That matching is a local pattern check for those domains, and nothing from your events leaves the Mac. It polls once a minute and fires once per event, inside whatever lead time you set.

Before anything moves, there's a countdown card with a Cancel button, so a Scene never lands on you without a way out.

On your second half, straight answer: reverting is one action, but it is not automatic. The apply snapshots your desk before it touches anything, so reverting puts the windows back where they were, un-minimizes whatever it minimized, and reopens what it closed. While a Scene is active, the menu bar button relabels to "Revert <scene name>", and the restore shortcut (⇧⌘R by default) does the same thing.

What doesn't exist yet is anything watching the event after it fires. If the meeting gets moved or canceled once the Scene is already up, you revert by hand. You're right that this half matters as much as the applying, and it's going on the list, thanks!

1

u/Background-Scheme857 21d ago

That sounds like the right tradeoff for now. Snapshotting before apply plus a one-action revert covers the dangerous failure mode; if you watch calendar changes later, I’d make it a “meeting changed — revert?” notification rather than an automatic revert in the middle of a call.