My notes for upcoming meetings used to live in three different places: Slack reminders, DMs to myself, and a txt file on my laptop. I never found the right one before a meeting started.
So I built Meeting Notes, a Slack bot that gives each meeting (or recurring series) its own private canvas, synced with Google Calendar.
What it does
- A Home tab lists your meetings for the next 7 days
- Each meeting gets a private Slack canvas only you can see
- A recurring meeting keeps one canvas: a new section per date, newest on top, so the whole history with that person or team is in one place
- Templates (built-in or your own) pre-fill every new section automatically
- An optional DM reminds you a few minutes before a meeting, linking straight to its notes
- Read-only Google Calendar sync keeps dates up to date on their own
A couple of things I learned building it
Slack Canvas's API has an insert_at_start edit operation, which is exactly what you want for "newest on top": each new date section gets inserted above the existing ones in one call, no need to read the whole document and rewrite it.
Canvases are created with the user's own OAuth token, not the bot's — that's what makes them private to just that person, since the bot token alone can't see them.
Stack
TypeScript, Slack's Bolt framework, SQLite (node:sqlite), Google Calendar API, hosted on Railway.
Caveat
It's built on Slack canvases, which only exist on paid Slack plans — free workspaces can't use it.
This is launch week for me, no users outside my own testing yet. Would love feedback, especially anything confusing in the install flow or the Home tab: https://notes.tappuccino.dev/
Top comments (0)