Skip to content

Repository files navigation

Tests

drawing

Meeting Notes

A lightweight, local-first desktop app for keeping organised meeting notes with the people you work with. Track every 1:1 and team conversation by person, write in Markdown with live preview, tag and filter notes by topic, and even record meetings to transcribe and summarise them into bullet points — all on-device. Your data never leaves your machine: no cloud, no accounts, and it works completely offline. Built with Electron.js and Express.

Features

  • 📝 Track meeting notes for multiple people
  • 👥 Manage contacts with names, roles, and teams
  • 🏷️ Tag and filter notes by topic
  • ✍️ Markdown support with live preview
  • 🎙️ Voice recording with offline speech-to-text (mic and/or system audio)
  • 💾 Autosave & local-only data storage
  • 🎨 Light/dark theme
  • 🔄 Automatic updates via GitHub Releases
  • 🌐 Works completely offline

Quick Start

Install (End Users)

Download the latest release from the Releases page:

  • Windows — run Meeting Notes Setup x.x.x.exe

Updates are delivered automatically after install.

"Windows protected your PC" warning

On first install you may see a blue "Windows protected your PC" dialog (Microsoft Defender SmartScreen) describing Meeting Notes as an unrecognised app. This appears because the installer is signed with a self-signed certificate rather than one from a paid certificate authority — Windows can't verify the publisher, so it warns you. It is expected and not a sign that the app is unsafe, and it normally only shows on the first install on each machine.

To continue:

  1. Click the More info link (small text under the message).
  2. Click the Run anyway button that appears, then follow the installer.

If your browser blocks the download first (e.g. Edge/Chrome says it "can't be downloaded securely"), open the browser's Downloads list, find the file, and choose Keep / Keep anyway. You can also right-click the downloaded .exeProperties and tick Unblock (if shown) before running it.

If there is no More info link, SmartScreen is set to block rather than warn (an administrator policy), which only an admin can change.

Develop

git clone https://github.com/deanhume/meeting-notes.git
cd meeting-notes
npm install
npm run fetch-model   # downloads the bundled speech-to-text model (~290 MB)
npm start

On-device voice transcription runs in the app via Transformers.js + ONNX Runtime Web — on the GPU (WebGPU) where available, falling back to CPU (WASM) otherwise. The quantised Whisper-small.en model (public/models/whisper-small.en/, ~290 MB) is not committed to git; npm run fetch-model downloads it, and the build bundles it (plus the runtime) into the installer so end users never download anything and nothing ever leaves the machine. The Record button is hidden until the model is present.

Documentation

Topic Description
Development Guide Project structure, API endpoints, scripts, data storage
Building & Distribution Creating installers, build config
Usage & Troubleshooting Settings, keyboard shortcuts, common issues
Auto-Updates How updates work, testing, troubleshooting
Release Checklist Step-by-step guide for publishing new versions

Tech Stack

Electron.js · Express.js · Vanilla JS · JSON storage · electron-updater

License

MIT — Dean Hume


Built with ❤️ using Electron.js

About

A powerful desktop app for managing meeting notes - markdown support, offline-first, autosave, light/dark theme.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages