I Built a Hazel Alternative for Mac with AI Rule Generation

Gotoorbitapp1 pts0 comments

# I Built a Hazel Alternative for Mac with AI Rule Generation – Here’s What I Learned | by Jamal Davis | Jun, 2026 | MediumSitemapOpen in appSign up<br>Sign in

Medium Logo

Get app<br>Write

Search

Sign up<br>Sign in

# I Built a Hazel Alternative for Mac with AI Rule Generation – Here’s What I Learned

Jamal Davis

6 min read·<br>2 hours ago

Listen

Share

*How a cluttered Downloads folder turned into a six-month solo build*<br>– – -<br>My Downloads folder had 803 files in it.<br>PDFs from last year. Screenshots from three weeks ago. Zip files I’d extracted once and never touched again. Audio samples, invoice PDFs, client contracts – all mixed together with no organization whatsoever.<br>I’d tried Hazel. I got about three rules set up before abandoning it. The interface felt like configuring a database – conditions, sub-conditions, nested logic trees. I’m a developer. I build software for a living. And even I found it tedious enough to quit.<br>What I actually wanted was to just *describe* what I wanted. “Move all my receipts to a Finance folder.” “Archive anything older than 30 days.” “Sort audio files by type.” Plain English. No configuration wizard.<br>So I built it.<br>– – -<br>## What I Built<br>**Orbit** is a Mac file automation app that watches your folders and automatically organizes your files based on rules you define – or rules that AI writes for you.<br>The core feature: you type what you want in plain English, and the AI creates the exact rule – conditions, actions, everything. No manual setup.<br>Six months later, gotoorbit.app is live.<br>Here’s what I learned building it.<br>– – -<br>## The Technical Decisions<br>### Electron Was the Right Call (Controversial, I Know)<br>Half the Mac developer community will tell you to build native Swift. I went with Electron + React + Vite.<br>Here’s why: I can ship in weeks instead of months. The AI integrations, the Stripe payments, the Supabase backend – everything has JavaScript tooling that’s mature and well-documented. SwiftUI is beautiful but its ecosystem for the things I needed was significantly thinner.<br>The performance tradeoff is real but for a file automation utility that runs mostly in the background – not a video editor or a game – Electron’s overhead is acceptable. My menu bar icon uses negligible CPU when monitoring folders.<br>The right tool is the one that ships.<br>### On-Device AI Was Non-Negotiable<br>I briefly considered routing AI requests through an external API. I scrapped that idea within a day.<br>The whole value proposition of Orbit is that it works on your files – documents, photos, financial records, client contracts. Sending any of that to an external server to generate automation rules would be a non-starter for the users I’m targeting.<br>Orbit uses Apple Intelligence on supported devices (M-series Macs with macOS 15.1+) and falls back to a local on-device model on older hardware. No API keys. No network requests. No data leaves your Mac.<br>This constraint made the AI feature more compelling, not less.<br>### File Watching Is Harder Than It Sounds<br>Chokidar handles the file system events but the edge cases are endless.<br>The biggest issue: files being actively written. If Orbit fires rules on a file that’s mid-download, mid-save, or mid-copy, bad things happen. I implemented a stability check – a file must be unchanged for 500ms before Orbit evaluates it against any rules. This eliminated an entire class of bugs.<br>System files are another trap. `.DS_Store`, `~$docname.docx` (Office temp files), `._filename` (macOS resource forks) – these all generate file system events constantly. Without explicit exclusions your rules fire hundreds of times an hour on files you never intended to touch.<br>The exclusion list took longer to build than the core watcher logic.<br>– – -<br>## The Product Decisions<br>### Free Tier With Real Limits<br>I went back and forth on this for weeks.<br>Option A: time-limited trial. 14 days free, then pay.<br>Option B: feature-limited free tier. Limited folders and rules, forever free.<br>I chose Option B, and I’m glad I did.<br>A time-limited trial creates urgency but it also creates friction and resentment. Users who haven’t had time to form a habit get cut off before they’ve seen the value. The conversion feels coercive.<br>A feature-limited free tier does something better: it self-selects. The users who hit the limit (1 folder, 5 rules) are exactly the users who’ve found enough value to want more. They’re converting from a position of “I need this” rather than “the clock ran out.”<br>The free tier isn’t a trial. It’s a permanent product for users who only need basic automation. The paid tier ($29.99 one-time) is for users who want unlimited automation.<br>### One-Time Purchase vs Subscription<br>$29.99 one-time. No subscription for the core product.<br>This was partly market research (Hazel has been $42 one-time for years and it works for them) and partly philosophy. File automation is a utility. You set it up once, it runs forever, you don’t think about it again. Charging monthly for something that doesn’t have ongoing...

files rules file time automation users

Related Articles