Roast my Mac app that moves your files around so you don't have to
▲ 7 r/macapps+1 crossposts

Roast my Mac app that moves your files around so you don't have to

I built AutoShelf, a macOS menu bar app that watches your folders and auto-organizes files based on rules. Think Hazel but simpler. And on the Mac App Store. And with MCP support so AI assistants can control it.

The pitch: set it and forget it. Downloads folder stays clean. Desktop does not look like a landfill. DMGs auto-delete after 3 days.

I am a solo dev. This is my first Mac app. I have been building it for about 8 months alongside my day job. It is on the Mac App Store for $19.99 one-time (no subscription). Free tier gets one rule. Pro unlocks everything.

It has:

- 13 file actions (move, copy, trash, rename, tag, archive, image optimize, convert, photos import)

- 12 condition types (file type, extension, download source, date, size, name)

- MCP integration so Claude/Cursor/opencode can create and run rules

- 9 built-in templates

- 19 languages

- A CLI tool (separate Go binary)

Current state: version 2.0.1. Working on 3.0 which adds custom conditions and actions.

Website: https://useautoshelf.com
AppStore: https://apps.apple.com/us/app/autoshelf-folder-organizer/id6762361021?mt=12

Roast away. Tell me why this dies or what I am doing wrong. I can take it.

u/orcunnu — 1 day ago

My Downloads folder was a disaster, so I built AutoShelf: a macOS app that watches your folders and auto-organizes files with rules

I built a Mac menu bar app that auto-organizes your folders (AutoShelf 2.0)

Hey everyone, I'm a solo dev and I've been building AutoShelf on nights and weekends alongside my day job.

It started because my Downloads folder was a disaster. DMGs from months ago, screenshots I forgot about, installers I already used. I'd manually clean it up every few weeks and within days it was a mess again. I looked at existing tools but they were either too complex, too expensive, or felt like they were built in another decade.

So I built AutoShelf. It lives in your menu bar, watches whatever folders you tell it to, and runs rules against files that land in them. Pick a folder, set a condition (file type, extension, download source, filename, date, size, etc.), choose an action (move, copy, trash, rename, tag, archive to ZIP, optimize images, import to Photos), and forget about it.

What makes 2.0 special:

The thing I'm most proud of is the MCP server. I baked it directly into the app binary. When stdin is a pipe, the app detects it's being invoked as an MCP bridge and runs a JSON-RPC server over stdio instead of launching the GUI. Point Claude Code, Cursor, or opencode at AutoShelf.app/Contents/MacOS/AutoShelf and you get 13 tools to create rules, run them, pause monitoring, pick folders. So you can literally tell your AI assistant "watch my Downloads folder and trash any DMG older than 3 days" and it builds the rule for you.

There's also a Go CLI for terminal workflows, multi-action chaining (stack tag + archive + move in one rule), multi-condition rules with AND + NOT, and 9 one-click templates.

Tech stack: Swift, SwiftUI, DispatchSource for folder watching, Unix domain sockets for IPC between the app and CLI/MCP bridge, App Sandbox with security-scoped bookmarks, Mac App Store distribution.

Pricing: Free (1 rule). Pro is $19.99 one-time, no subscription. All future updates included.

Links:

Mac App Store: https://apps.apple.com/app/autoshelf/id6762361021

Website: https://useautoshelf.com

Would love feedback on the MCP approach. Is baking a server into a GUI app binary something you'd consider for your own projects? Also curious if anyone else here is building Mac apps alongside a day job, how do you balance it?

u/orcunnu — 1 month ago

AutoShelf 2.0 - Auto-organize your Mac's folders (now with MCP + multi-actions)

Mac App Store: https://apps.apple.com/app/autoshelf/id6762361021

Website: https://useautoshelf.com

Hey everyone! I'm the solo developer behind AutoShelf, a macOS menu bar app that watches your folders and organizes files automatically.

I built it because I was tired of my Downloads folder being a mess of DMGs, screenshots, and random files I'd never clean up. 2.0 just shipped with a bunch of new features so here's an update.

How it works:

- Watch any folder (Downloads, Desktop, etc.)

- Set a condition: file type, extension, where-from URL, downloading app, filename, date added, last modified, last opened, file size, or any item

- Choose an action: move, copy, trash, rename, tag, archive to ZIP, optimize images, copy to Photos, move to Photos

- Chain multiple actions in one rule (e.g. tag, then archive, then move)

- It runs quietly in your menu bar

Built-in templates (one-click setup):

- Organize Downloads by file type

- Auto-trash DMGs and installers

- Clean Desktop (archive old files)

- Sort by Source (GitHub to Developer/, Slack to Work/)

- Organize Screenshots, Sort Music, Tag Large Files, Auto-trash ZIPs

What's new in 2.0:

- Multi-action chaining: stack move + rename + tag + archive in a single rule

- MCP server built into the app binary: point Claude Code, Cursor, or opencode at the app and get 13 tools to create rules, run them, pause monitoring, pick folders, and more. Write ops are Pro-gated and default to off.

- Go CLI for terminal workflows and scripting

- Copy/Move to Photos for image and video imports

- More conditions: last modified, last opened, where-from URL

- Multi-condition rules with AND + NOT logic

- Delayed execution (wait N seconds before acting)

Other features:

- Image optimization (compress JPEG/PNG, 5 levels, strip metadata)

- Confirmation mode (review before actions)

- Import/export rules

- 19 languages

- macOS 13 Ventura+, native SwiftUI

Pricing: Free to try (1 rule). Pro is a one-time $19.99. No subscription, all future updates included.

Happy to answer questions or take feature requests!

u/orcunnu — 1 month ago
▲ 2 r/MCPservers+1 crossposts

I baked an MCP server into a Mac App Store app binary. Here's how.

I'm a solo dev building AutoShelf, a macOS menu bar app that watches your folders and auto-organizes files based on rules. Last month I shipped 2.0 with MCP support, and I want to share how I approached this because it was a genuinely weird problem.

The challenge:

MCP (Model Context Protocol) runs over stdio. Your AI assistant (Claude Code, Cursor, opencode) spawns a process, talks to it via stdin/stdout JSON-RPC, and gets tool responses back. Pretty straightforward for a CLI tool.

But AutoShelf is a GUI app. It lives in your menu bar. It has a window, folder watchers, sandbox restrictions, the whole thing. I didn't want to ship a separate binary just for MCP. I wanted the same app to work as both a GUI app AND an MCP server.

The solution:

When the app launches, it checks if stdin is a pipe. If it is, someone (an MCP client) spawned it programmatically, so it runs the JSON-RPC server over stdio instead of launching the GUI. If stdin is a normal terminal, it just opens the menu bar app like normal.

One binary, two modes. The MCP client points directly at AutoShelf.app/Contents/MacOS/AutoShelf.

The sandbox problem:

This was the hard part. Mac App Store apps run in a sandbox. MCP clients like Claude Code need to talk to the running app to do things like create rules, run them, pick folders. But sandboxed apps can't just open arbitrary sockets.

I use a Unix domain socket inside the app's group container for IPC. The MCP bridge (the stdio process) forwards requests to the running GUI app over that socket. So when Claude Code calls create_rule, the bridge sends it to the app, the app creates the rule, and the response comes back over stdio.

The folder picker was another fun one. MCP can't show a native macOS folder picker dialog on its own, so pick_folder asks the running GUI app to pop the native folder picker, and the result gets sent back through the bridge.

The 13 tools:

create_rule, edit_rule, delete_rule, enable_rule, disable_rule, run_rule, list_rules, list_groups, get_rule, get_status, pause_monitoring, resume_monitoring, pick_folder.

Write operations (create, edit, delete, run) are gated behind a Pro-only toggle that defaults to off. So out of the box, MCP clients can only read. You have to explicitly enable writes, and that requires Pro.

What I learned:

  1. The stdin detection trick (isatty check) is dead simple but incredibly effective. One line of logic, two completely different runtime modes.

  2. Sandbox constraints are painful but solvable. Group containers + Unix domain sockets work for IPC, you just have to design around it.

  3. Permission gating matters more than you think. I started with writes enabled by default and immediately realized that was a bad idea for an AI assistant that can move your files. Defaults should be safe.

  4. 13 tools feels like the right granularity. Not so few that you can't do anything meaningful, not so many that the AI gets confused about which to call.

What I'd love feedback on:

Is 13 tools the right number? Too coarse? Too granular? Anyone else building MCP servers into non-CLI apps? Curious how others are handling the sandbox + IPC problem.

Context on the app itself:

AutoShelf is a paid app, $19.99 one-time, no subscription. Free tier gets one rule. Pro unlocks everything including the MCP write tools. It's on the Mac App Store: https://apps.apple.com/app/autoshelf/id6762361021

Website: https://useautoshelf.com

I'm building this alongside my day job. Every sale goes back into development. 2.0 just shipped and 3.0 is already being planned with custom conditions and actions, turning AutoShelf into a true engine.

u/orcunnu — 1 month ago
▲ 14 r/macapps

AutoShelf 2.0 – Watch your folders and auto-organize files with simple rules, templates, and multi-condition matching now with MCP and CLI support!

Problem:

My Downloads folder was always a disaster. DMGs from months ago, screenshots I forgot about, ZIP files I only needed once, installers I already used. Every few weeks I'd manually sort through everything, and within days it was a mess again. Desktop wasn't much better.

I looked at existing tools and they either felt like they were built in 2012, were too complex to set up quickly, or cost too much with a subscription. I wanted something I could configure in 30 seconds with a template and then never think about again.

So I built AutoShelf. It lives in your menu bar, watches whatever folders you tell it to, and runs rules against files that land in them. Here's what it can do:

Conditions (10 types):

- File type (UTType-based, so "is an image" catches JPG, PNG, HEIC, etc.)

- File extension (.dmg, .zip, .pkg, anything)

- Where-from URL (the download source, read from Spotlight metadata)

- Downloaded by (which app downloaded it: Safari, Chrome, Slack, etc.)

- Filename contains (case-insensitive)

- Date added older than (N days)

- Last modified older than

- Last opened older than

- File size larger than (N MB)

- Any item (match everything)

Actions (10 types, chainable in a single rule):

- Move to folder

- Copy to folder

- Move to Trash

- Rename (with pattern support, preserves extension)

- Add tag (macOS Finder tags)

- Archive to ZIP

- Optimize and overwrite (in-place JPEG/PNG compression, strips metadata)

- Duplicate and optimize (optimized copy to a folder)

- Copy to Photos (import images/videos to Photos library)

- Move to Photos (import + delete original)

You can stack multiple actions. For example: tag the file, archive it to ZIP, then move the ZIP to a backup folder. All in one rule.

Multi-condition rules:

Combine conditions with AND logic and per-condition NOT. So you can say "file type is image AND filename does NOT contain 'screenshot' AND date added older than 7 days." Pro feature.

Built-in templates (one-click setup):

- Organize Downloads by file type (images, PDFs, videos, archives, code)

- Auto-trash DMGs

- Clean Desktop (archive files older than 7 days)

- Sort by Source (GitHub files to Developer/, Slack files to Work/)

- Auto-trash Installers (.dmg, .pkg, .mpkg)

- Organize Screenshots

- Sort Music

- Tag Large Files (over 100 MB)

- Auto-trash ZIPs

MCP server (this is the part I'm most excited about):

AutoShelf has a full MCP server baked into the app binary. When you invoke the app and stdin is a pipe, it detects MCP mode and runs a JSON-RPC server over stdio instead of launching the GUI. You point Claude Code, Cursor, or opencode at AutoShelf.app/Contents/MacOS/AutoShelf and you get 13 tools:

- create_rule, edit_rule, delete_rule

- enable_rule, disable_rule, run_rule

- list_rules, list_groups, get_rule, get_status

- pause_monitoring, resume_monitoring

- pick_folder (pops the native macOS folder picker)

So you can tell your AI assistant "watch my Downloads folder and trash any DMG older than 3 days" and it builds and installs the rule for you. Write operations are gated behind a Pro-only toggle that defaults to off, so nothing happens without your explicit permission.

CLI:

There's also a Go CLI for terminal workflows. It talks to the running app over a Unix domain socket. Install with:

curl -sfL https://useautoshelf.com/cli/install.sh | sh

Same capabilities as the MCP server: create rules, run them, list, enable/disable, pause/resume monitoring, pick folders.

Other features:

- Image optimization with 5 compression levels (lossless through extreme), separate JPEG and PNG settings, optional metadata stripping

- Confirmation mode: get a macOS notification before an action runs, with Allow / Deny / Ignore

- Delayed execution: wait N seconds before acting on a file

- Import/export rules as .autoshelf files

- Activity log

- Run rule now: manually scan existing files in a watched folder, not just new ones

- Watch multiple folders per rule

- 19 languages

- macOS 13 Ventura+, native SwiftUI, App Sandbox enabled

- Lives in your menu bar or opens as a full window

Technical bits for the curious:

- Folder watching uses DispatchSource (kernel events), not FSEvents, since I only watch a handful of folders

- Download source detection reads kMDItemWhereFroms and com.apple.quarantine via Spotlight

- Security-scoped bookmarks for folder access under sandbox

- Multi-action rules chain sequentially, piping each action's output URL into the next

- The app auto-launches in accessory mode (no dock icon) when invoked by the CLI, so there's no dock flicker

Comparison:

The obvious one is Hazel ($42). It's been the gold standard for 20 years and has a massive feature set. But it also has a learning curve that keeps most people from ever setting it up. AutoShelf trades some of that depth for radical simplicity: templates get you running in seconds, the UI is native SwiftUI built for current macOS, and the MCP + CLI layer means you can script it or drive it from an AI assistant, which Hazel can't do.

Declutter and Folder Tidy are simpler but also more limited. They tend to do basic sorting without the condition variety, action chaining, or automation hooks. AutoShelf sits between them and Hazel: more powerful than the simple sorters, more approachable than Hazel, and with MCP/CLI that neither offers.

Pricing:

Free: 1 rule, no templates, no activity log, no multi-condition, no image optimization, no Photos import, no delay/confirmation, no import/export.

Pro: $19.99 one-time. No subscription, ever. All features unlocked, all future updates included.

Mac App Store: https://apps.apple.com/app/autoshelf/id6762361021

Website: https://useautoshelf.com

Feature requests welcome: https://useautoshelf.com/support?category=feature-request

Happy to answer any questions!

u/orcunnu — 1 month ago
▲ 17 r/software+1 crossposts

AutoShelf Lifetime – Watch your folders and auto-organize files with simple rules, templates, and multi-condition matching

App Name: AutoShelf

Price: Free (1 rule) / $19.99 one-time Pro unlock

Mac App Store: https://apps.apple.com/app/autoshelf/id6762361021

Website: https://useautoshelf.com

Hey everyone! I'm the developer of AutoShelf.

I built it because my Downloads folder was always a mess and I got tired of manually sorting files. AutoShelf watches your folders and organizes files automatically based on rules you define. Pick a folder, set a condition, choose an action. Done.

Conditions (7 types): File type, extension, download source, downloading app, filename, date added, file size

Actions (8 types): Move, copy, trash, rename, tag, archive to ZIP, optimize images

Built in templates (one click setup):

- Organize Downloads by file type

- Auto trash DMGs and installers

- Clean Desktop (archive old files)

- Sort by Source (GitHub → Developer/, Slack → Work/)

- Organize Screenshots, Sort Music, Tag Large Files, Auto trash ZIPs

Other features:

- Multi condition rules with AND logic

- Confirmation mode: review before actions

- Image optimization (compress JPEG/PNG, strip metadata)

- Import/export rules

- macOS 13 Ventura+

- Lives in your menu bar, always running

What's coming:

- Multi actions (chain move + rename + tag in one rule)

- Rule creation wizard

- File conversions (HEIC → JPG, MOV → MP4, WAV → MP3)

- Cloud storage uploads

- Auto downloads (RSS, URLs, scheduled fetch)

Feature requests welcome: https://useautoshelf.com/support?category=feature-request

Happy to answer any questions!

u/orcunnu — 3 months ago

Plinklink! — Endless stacking game built with SceneKit, no game engine

Discs fly across the screen, tap to drop them on a growing stack. Perfect timing = bonus points + confetti. Miss = lose a life.

Progressive difficulty tiers make it harder as you go. Faster speed, smaller targets, discs change shape. Fever mode for chaining combos.

Camera follows the stack upward so you feel the height build. Custom shake on impacts, FOV kicks on perfect landings.

Everything built with SceneKit + UIKit. Solo dev, no game engine.

Looking for feedback on what would make it more replayable. What gives you that "one more round" feeling?

AppStore Link

u/orcunnu — 3 months ago

AutoShelf – Auto-organize your files with rules (has menu bar, one-time purchase)

Hey everyone! I'm the solo developer behind AutoShelf, a macOS menu bar app that watches your folders and organizes files automatically.

I built it because I was tired of my Downloads folder being a mess of DMGs, screenshots, and random files I'd never clean up.

How it works:

  1. Watch any folder (Downloads, Desktop, etc.)

  2. Set a condition: file type, extension, download source, filename, date added, file size, or downloading app

  3. Choose an action: move, copy, trash, rename, tag, archive to ZIP, or optimize images

  4. It runs quietly in your menu bar

Built in templates (one click setup):

- Organize Downloads by file type

- Auto trash DMGs and installers

- Clean Desktop (archive old files)

- Sort by Source (GitHub → Developer/, Slack → Work/)

- Organize Screenshots, Sort Music, Tag Large Files

Other features:

- Multi condition rules

- Confirmation mode (review before actions)

- Image optimization (compress JPEG/PNG, strip metadata)

- Import/export rules

- 18 languages

- macOS 13 Ventura+

Pricing: Free to try (1 rule). Pro is a one time $19.99. No subscription.

Mac App Store: https://apps.apple.com/app/autoshelf/id6762361021

Website: https://useautoshelf.com

Happy to answer questions or take feature requests!

u/orcunnu — 3 months ago

Plinklink! - Endless stacking game for iOS. Tap to drop discs with perfect timing

Game Title: Plinklink!

Playable Link: AppStore Link

Platform: iOS, iPadOS

Description:

Plinklink! is an endless stacking game for iOS where discs fly across the screen and you tap to drop them on a growing stack. The core mechanic is simple: time your tap right to land the disc. Perfect landings earn bonus points and trigger confetti. Good and normal landings still score. Miss and you lose one of your three lives. Game over, try again.

The game gets progressively harder as you stack higher. Speed increases, targets get smaller, and eventually the discs change shape entirely. There are multiple difficulty tiers that introduce new challenges as you go. Fever mode kicks in when you chain combos together for bonus scoring.

I was influenced by Stack by Ketchapp and Stack Jump by Voodoo. Those games nailed the one more try feeling but I wanted something with cleaner, softer visuals. The hypercasual neon look gets fatiguing. Plinklink! is designed to be easy on the eyes so you can play longer sessions without strain.

Built entirely with SceneKit and UIKit. No game engine. Everything is custom from the physics feel to the camera shake on impacts to the camera following your stack upward as it grows.

I am stuck on what to add to make it more addictive. That feeling where you close the app and open it again 5 minutes later. Any feedback on what keeps you coming back to games like this would be hugely appreciated.

Free to Play Status: Free to Play

Involvement: Solo developer. Game design, mechanics, visual direction, and all code.

u/orcunnu — 3 months ago