The bloatware problem is not a download problem. It is a philosophy problem.
CCleaner has a business model. CleanMyMac has a subscription tier. Every tool that wants to live inside your filesystem long enough to charge you monthly has learned to make itself indispensable through complexity. Features you didn't ask for. Dashboard panels for things that were never broken. Upsell modals on Tuesday mornings. You run them because the alternative felt like doing it yourself.
The alternative is doing it yourself. It's faster than you think.
This is not about one app. This is about a workflow for shipping clean, functional, open-source tools across any stack — Swift, Python, JavaScript, Dart, whatever you're holding — using AI as the build partner. One session, one release, one README that doesn't lie.
The philosophy first, because everything downstream depends on it.
If a feature isn't built, it isn't in the UI. If a label isn't true, it doesn't exist. If a doc references something that doesn't work, delete the doc. Users who trust you enough to run your code on their machine are extending credit. Don't spend it on theater.
The bloat that kills open-source reputation isn't malware. It's aspirational scaffolding left in production — status bars that say ENCRYPTION: AES-256 because someone thought it looked serious, settings tabs wired to nothing, YOUR_TEAM_ID still sitting in a config file that shipped anyway. These things communicate one thing: the builder didn't review their own work before they handed it to you.
Review your own work.
The prompts are the method. Here are several ways to run the same workflow depending on what you're building.
For a Mac app (Swift/Xcode):
Audit this repo against the README. Flag anything documented but not built. Flag dead code, unfinished UI tabs, and labels that aren't functionally true. Delete from the root: internal dev notes, placeholder configs, build artifacts. Add .gitignore covering build/, DMGs, DerivedData, .DS_Store. Wire the provided 1024x1024 PNG into Assets.xcassets as AppIcon.appiconset and a named AppLogo imageset. Implement a lightweight GitHub releases API checker — no Sparkle, no dependencies, ~60 lines — silent check 3 seconds after launch, "Check for Updates..." in the app menu. Rewrite README: icon at top, one-liner, feature table, install steps, privacy statement. BUILD.md short and accurate only. Write make_dmg.sh. Tag v1.0.0.
For a Python CLI tool:
Audit this repo. Does the README match what the code actually does? Cut anything that doesn't. Add .gitignore for pycache, .env, dist/, *.egg-info. Write a clean README: what it does in one sentence, install via pip or pipx, usage with real examples, no aspirational features. Add a --version flag that reads from a VERSION file. Write a build script that produces a standalone binary via PyInstaller if applicable. Footer: built by [your brand], link to the article.
For a JavaScript/web tool:
Audit package.json — remove unused dependencies. Check that every script in the scripts block actually runs. Add .gitignore for node_modules, .env, dist/. Write README: icon, one-liner, npm install, usage, no marketing copy. If it's a browser extension, write the store description while you're there. If it's a CLI, wire a --version flag. Keep it honest.
For a game: