Open — Source is public on GitHub2026
Built for my company
- Client
- Built for my company: the team keeps prayer times in a Slack Canvas, and a few minutes before each one the bot posts the reminder in the channel — nobody has to remember to.
- Recruiter
- Slack bot in TypeScript, driven by a team-edited Slack Canvas and run free on GitHub Actions every five minutes, with a kill switch, weekend and holiday skips and per-prayer messages.
- Engineer
- Exactly-once on a five-minute cron: each tick parses the Canvas, posts whatever is due, then commits a dedupe marker back to the repo so a retry never double-posts.
What it does
- Prayer reminders posted to the team channel a few minutes before each time
- Times edited by anyone in a Slack Canvas — no code, no redeploy
- Weekends and holidays skipped, with a kill switch and custom messages per prayer
Under the hood
- All logic in framework-agnostic TypeScript, shared by the CI script and an optional dashboard
- A strict line parser over the Canvas: anything that does not match is ignored, never guessed at
- Runs free on a GitHub Actions cron, with the committed dedupe marker making every post exactly-once
Built with
- TypeScript
- Slack API
- Slack Canvas
- GitHub Actions
- Zod
- Next.js