meenie

meenie

Pick someone at random in Slack.

A tiny self-hosted Slack app that picks one of your teammates fairly — from any channel or a custom list you curate yourself. Great for standups, retros, pair rotations, code reviews, and snack runs. One container plus Postgres. MIT-licensed.

View on GitHub Read the docs

How it works

  1. Self-host meenie

    One container plus Postgres. docker compose up and you have an HTTPS-ready Slack app behind ngrok, ready for workspace install via OAuth.

  2. Pick from channels or lists

    Run /meenie pick #channel for an ad-hoc pick, or create a curated list with /meenie list create and pick from that.

  3. Track fairness

    /meenie stats shows how often each member has been picked recently, so you can spot drift before anyone else does.

Commands

/meenie pick [#channel | @list]
Pick a member at random from a channel or a custom list.
/meenie list <create|add|remove|show|delete> ...
Manage custom pick lists scoped to your workspace.
/meenie stats [#channel | @list]
Show per-member pick counts over the last 30 days.
/meenie help
Show the in-Slack help message.

Schedule picks with /remind

meenie intentionally has no scheduler of its own. Pair it with Slack's built-in /remind and you get scheduled picks for free:

/remind #standup to /meenie pick #standup every Monday at 9am

Run your own

meenie is self-hosted by design — there's no central SaaS to lock your workspace into. The fast path with a public HTTPS tunnel:

git clone https://github.com/nearform/meenie.git
cd meenie
cp .env.example .env  # fill in NGROK_AUTHTOKEN
docker compose --profile tunnel up --build
docker compose logs ngrok  # copy the https URL into app.manifest.json

Full instructions, deploy notes, and the Slack manifest live in the README.