Take a break. Laugh a little. Code better.
A lightweight Mac menu bar app that delivers meme popups at customizable intervals — because developers deserve fun breaks too.
Features • Installation • Tech Stack • Development • Contributing
Studies show that taking regular breaks improves focus, reduces stress, and boosts productivity. MemeBreak combines the science of break-taking with the joy of memes — automatically reminding you to step away from the keyboard with a smile.
Perfect for:
- Developers who forget to take breaks while deep in code
- Remote workers who need a mental reset
- Anyone who appreciates a good laugh during work
| Feature | Description |
|---|---|
| Menu Bar Native | Lives quietly in your Mac's top menu bar — not the dock |
| Smart Intervals | Choose from 15min, 30min, 1h, 2h, or set custom timing |
| Multi-Source Memes | Aggregates from Reddit, Imgflip, Giphy, and Imgur |
| Category Filters | Dev/Tech memes, General humor, or Khmer memes |
| Break Checklist | Built-in wellness reminders: stretch, hydrate, rest eyes |
| Do Not Disturb | Set quiet hours for focused work sessions |
| Keyboard Shortcuts | Navigate memes without touching your mouse |
| Beautiful UI | Modern dark gradient design with smooth animations |
Get the latest release from the Releases page.
# Or build from source
git clone https://github.com/RithyTep/meme-break.git
cd meme-break
npm install
npm run tauri:buildThe DMG will be generated at:
src-tauri/target/release/bundle/dmg/MemeBreak_x.x.x_aarch64.dmg
| Layer | Technology |
|---|---|
| Frontend | Next.js 16, React 19, TypeScript |
| UI Components | shadcn/ui, Tailwind CSS v4, Radix UI |
| Desktop Runtime | Tauri v2 (Rust backend) |
| State Management | Zustand |
| Styling | Modern dark gradient with glassmorphism |
- Node.js 18+
- Rust (install via rustup.rs)
- Xcode Command Line Tools (macOS)
# Clone the repository
git clone https://github.com/RithyTep/meme-break.git
cd meme-break
# Install dependencies
npm install
# Run in development mode
npm run tauri:dev
# Build for production
npm run tauri:buildmeme-break/
├── src/ # Frontend (Next.js)
│ ├── app/
│ │ ├── popup/ # Meme popup window
│ │ └── settings/ # Settings window
│ ├── components/
│ │ ├── ui/ # shadcn/ui components
│ │ └── meme-card.tsx # Main meme display
│ ├── lib/
│ │ ├── services/ # Meme API aggregator
│ │ └── store/ # Zustand state
│ └── types/ # TypeScript definitions
├── src-tauri/ # Backend (Rust)
│ ├── src/lib.rs # Tauri commands & tray
│ └── tauri.conf.json # Window & plugin config
└── package.json
Reddit and Imgflip work out of the box. For additional sources:
| Service | Free Tier | Setup |
|---|---|---|
| Giphy | 100 req/day | developers.giphy.com |
| Imgur | 12,500 req/day | api.imgur.com |
Add your API keys in Settings to unlock these sources.
| Shortcut | Action |
|---|---|
| Space / → | Next meme |
| Esc | Close popup |
Contributions are welcome! Feel free to:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Windows & Linux support
- Custom meme folders (local images)
- Slack/Discord status integration
- Pomodoro timer mode
- Meme favorites & history
This project is licensed under the MIT License - see the LICENSE file for details.
Made with 💜 by RithyTep
Take breaks. Stay healthy. Keep coding.
