Skip to content

RithyTep/meme-break

Repository files navigation

MemeBreak Logo

MemeBreak

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.

Release License Stars Platform Tauri

FeaturesInstallationTech StackDevelopmentContributing


MemeBreak Popup


Why MemeBreak?

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

Features

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

Installation

Download

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:build

The DMG will be generated at:

src-tauri/target/release/bundle/dmg/MemeBreak_x.x.x_aarch64.dmg

Tech Stack

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

Development

Prerequisites

  • Node.js 18+
  • Rust (install via rustup.rs)
  • Xcode Command Line Tools (macOS)

Quick Start

# 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:build

Project Structure

meme-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

API Configuration

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.


Keyboard Shortcuts

Shortcut Action
Space / Next meme
Esc Close popup

Contributing

Contributions are welcome! Feel free to:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Roadmap

  • Windows & Linux support
  • Custom meme folders (local images)
  • Slack/Discord status integration
  • Pomodoro timer mode
  • Meme favorites & history

License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with 💜 by RithyTep

Take breaks. Stay healthy. Keep coding.

About

Mac menu bar app that shows meme popups at customizable intervals

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •