Polishr is a macOS desktop app that improves your writing in any application. Select text, press a hotkey, and Polishr sends it to an LLM for improvement, then replaces the original with the polished version. Every improvement includes educational notes explaining what changed and why, helping you learn grammar, vocabulary, style, and clarity over time.
- Global hotkey - Improve selected text in any app without switching windows
- Custom commands - Use built-in commands like
/formal,/concise,/expandor create your own - Educational notes - Learn from each improvement with categorized grammar, vocabulary, style, and clarity notes
- Improvement history - Search, filter, and review all past improvements with full-text search
- Multiple LLM providers - Works with OpenAI and Anthropic (Claude)
- Custom system prompt - Customize the instructions sent to the LLM
- Language support - Works with any language, not limited to English
- Light and dark themes - Matches your macOS appearance preference
- System tray - Quick access to recent improvements and app controls
- Auto-updates - Automatically checks for and installs new versions
- Privacy-focused - All data stored locally on your machine
- Download the latest
.dmgfrom Releases - Open the DMG and drag Polishr to your Applications folder
- Launch Polishr from Applications
- Grant Accessibility permissions when prompted (required for text capture)
- Add your LLM API key in Settings
For detailed setup instructions, see the Installation Guide.
- Set up an API key - Open Settings and add your OpenAI or Anthropic API key
- Configure the hotkey - Go to Settings > Hotkey and set your preferred shortcut (default:
Cmd+Shift+I) - Select text in any app, press your hotkey, and watch Polishr improve it
- Review improvements in the History tab with educational notes
Prefix your selected text with a command to change the improvement style:
| Command | Description |
|---|---|
/improve |
Fix grammar, spelling, and punctuation (default) |
/formal |
Rewrite in professional, business tone |
/casual |
Rewrite in conversational, friendly tone |
/concise |
Shorten and remove unnecessary words |
/expand |
Add detail, context, and elaboration |
You can also create your own custom commands in the Commands tab.
- Installation Guide - Download, install, and set up Polishr
- Accessibility Permissions - Grant the permissions Polishr needs
- Feature Walkthrough - Tour of all features and how to use them
- Custom Commands - Create and manage your own commands
- Troubleshooting - Common issues and solutions
npm install
npm run dev| Command | Description |
|---|---|
npm run dev |
Start dev server with hot reload |
npm run build |
Typecheck + production build |
npm run typecheck |
TypeScript check only |
npm run lint |
ESLint check |
npm run lint:fix |
ESLint with auto-fix |
npm run format |
Prettier format |
npm run format:check |
Prettier check |
npm run test |
Run unit tests |
npm run test:watch |
Unit tests in watch mode |
npm run test:coverage |
Unit tests with coverage |
npm run test:e2e |
Playwright E2E tests |
npm run package |
Build + package macOS app |
- Electron + TypeScript
- React
- SQLite (better-sqlite3)
- Tailwind CSS
- Vite