A powerful Chrome/Firefox extension that helps you write better with AI assistance.
As a non‑native English speaker, I kept losing flow while translating thoughts into English. Existing assistants added lines and popups I didn’t want, and usually required a subscription. So I built a small, keyboard‑first tool I could summon anywhere.
- Keyboard‑invoked, minimal UI
- BYOK (bring your own API key), no subscription
- Prompt is user‑editable -- you can set up multiple prompt presets for different scenarios
- Open‑source, no tracking, no data collection
- Press your shortcut (default:
Ctrl+Shift+W) to open the composer in a dialog. - Describe what you want (tone, audience, length).
- Paste the result where you're writing.
Coming soon - extension is currently in development
- Clone this repository:
git clone https://github.com/mondaychen/ai-writing-helper.git - Install dependencies:
pnpm install(install pnpm first if needed:npm install -g pnpm) - Build the extension:
pnpm build - Open Chrome and go to
chrome://extensions - Enable "Developer mode" in the top right
- Click "Load unpacked" and select the
distfolder
- Follow steps 1-2 above
- Build for Firefox:
pnpm build:firefox - Open Firefox and go to
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on..."
- Select the
manifest.jsonfile from thedistfolder
Note: Firefox extensions loaded this way are temporary and will be removed when you close the browser.
- Node.js >= 22.15.1
- pnpm >= 10.11.0
# Clone the repository
git clone https://github.com/mondaychen/ai-writing-helper.git
cd ai-writing-helper
# Install dependencies
pnpm install
# Start development server for Chrome
pnpm dev
# Start development server for Firefox
pnpm dev:firefoxpnpm dev- Start development server for Chromepnpm dev:firefox- Start development server for Firefoxpnpm build- Build for production (Chrome)pnpm build:firefox- Build for production (Firefox)pnpm type-check- Run TypeScript type checkingpnpm lint- Run lintingpnpm lint:fix- Fix linting issues automaticallypnpm format- Format code with Prettierpnpm test- Run testspnpm zip- Build and package extension for distribution
Built using a modern monorepo structure with Turborepo for efficient builds and development.
- React 19 - Modern UI framework with concurrent features
- TypeScript - Type-safe development
- Vite - Lightning-fast build tool and dev server
- Tailwind CSS - Utility-first CSS framework
- Turborepo - Monorepo build orchestration
- pnpm - Fast, disk space efficient package manager
- Popup - Main interface accessible from the browser toolbar
- Side Panel - Extended UI panel for Chrome users
- Content Scripts - Injected functionality for web pages
- Background Script - Service worker for extension logic
- Options Page - Configuration and settings interface
packages/shared/- Common utilities, hooks, and componentspackages/storage/- Chrome extension storage helpers with React hookspackages/ui/- Shared UI components with Tailwind integration
We welcome contributions! Please feel free to submit issues, feature requests, or pull requests.
- Follow the existing code style and conventions
- Run
pnpm format,pnpm lint, andpnpm type-checkbefore committing - Write clear commit messages
- Test your changes thoroughly
If the development server stops auto-reloading:
- Restart the dev server:
Ctrl+Cthenpnpm dev - Refresh the extension in Chrome: Go to
chrome://extensionsand click the refresh button (You always need to do this after making changes to background script)
- Ensure Node.js version >= 22.15.1
- Clear build cache:
pnpm clean - Reinstall dependencies:
pnpm clean:install
If you have any suggestions or questions, please feel free to open an issue.
If you find this project helpful, please consider:
- ⭐ Starring the repository
- 💰 Sponsoring the author