A Windows notes app inspired by Apple Notes, built with Electron, React, TypeScript, TipTap, and SQLite.
- Offline-first notes stored locally on the computer
- Optional encrypted Google Drive sync
- First-run private backup prompt with offline mode always available
- Rich text editor with headings, lists, checklists, tables, code blocks, links, images, and attachments
- Lock notes with a 6 digit passcode
- Folders, pinned notes, smart sections, trash restore, and duplicate notes
- PDF export for individual notes
- Search across notes and inside the current note
- Desktop widget for quick notes, todos, and reminders
- Dark Windows-style theme
Install dependencies:
npm installRun the app in development:
npm run devBuild the app:
npm run buildCreate the Windows installer:
npm run distThe installer is created in dist/.
Google Drive sync is optional. Each user signs in with their own Google account, and notes are stored encrypted inside that user's hidden Google Drive app data area.
For development, add a Google OAuth Desktop client in the app Settings:
- Client ID
- Client Secret
- Sync password for encrypting Drive data
The app uses the Google Drive drive.appdata scope so sync files are hidden from normal My Drive views and are only accessible to this app.
This project is configured for GitHub Releases:
"publish": {
"provider": "github",
"owner": "xrobinx",
"repo": "notes-app"
}To publish a release:
- Create a GitHub repository named
notes-app. - Push this project to that repository.
- Run
npm run dist. - Upload these files from
dist/to a GitHub Release:Notes Setup 1.0.0.exeNotes Setup 1.0.0.exe.blockmaplatest.yml
Friends can download and run Notes Setup 1.0.0.exe.
- The app is not code-signed yet, so Windows SmartScreen may warn users the first time they install it.
- Auto-update works only after releases are published properly on GitHub.
- Google OAuth should be published/verified in Google Cloud before sharing with many users. - still in testing