dsbitor/technotes-releases
technotes — a macOS note-taking app. Download releases here. - dsbitor/technotes-releases
0 stars · 0 forks
README
technotes Private, offline-first notes for people who write Markdown, math, and code. No account. No cloud. No network traffic. One binary.
Download
Download the latest DMG → Open the DMG, drag technotes.app to /Applications, launch. The app is code-signed and notarized. No Gatekeeper warning. Full User Guide (PDF)
What it is technotes is a personal note-taking application for macOS. It is built for users who work with structured technical content: Markdown, LaTeX mathematics, Mermaid diagrams, and source code. Everything stays on your machine. The binary makes zero outbound network connections at any point during operation. Your notes are stored in a single SQLite database file that you own and can back up, inspect, and move freely.
Features Markdown Full CommonMark rendering with syntax-highlighted code fences. The editor is CodeMirror with Markdown awareness. Notes support headings, tables, task lists, and nested blockquotes. Mathematics KaTeX renders inline and display-mode LaTeX equations. Both $...$ inline and $$...$$ display syntax are supported. All 20 KaTeX WOFF2 font files are embedded in the binary; no network request is needed to render equations. Inline: $E = mc^2$ Display: $$\nabla \cdot \mathbf{B} = 0$$
Diagrams Mermaid renders flowcharts, sequence diagrams, entity relationship diagrams, and Gantt charts inside notes.
graph TD
A[Write note] --> B{Has math?}
B -- yes --> C[KaTeX renders]
B -- no --> D[Plain Markdown]Print and Save as PDF Cmd+P opens the macOS native print sheet. KaTeX equations and Mermaid diagrams render correctly in the printed output because the DOM is captured after rendering, not before. Font paths are resolved at runtime from the embedded binary, so the output is self-contained. Tags Tags are written inline with #hashtag syntax in note content. Clicking a tag filters the note list. Bulk tag operations are supported: select multiple notes and apply or remove a tag in one action. Attachments Files are attached to notes via drag-and-drop or the attachment button. Attached images render inline. All other file types are listed as downloadable links. Bulk Operations Select multiple notes with checkboxes. Bulk actions include archive, delete, and tag-add. Shift-click range selection is planned for the next release. Import and Export Notes can be exported as Markdown files. The underlying SQLite database is a standard file you can query directly with any SQLite client.
Privacy technotes makes no network connections of any kind. There is no telemetry, no update check, no analytics, and no crash reporting. Verifying this is straightforward:
Confirm no listening sockets while the app runs
lsof -i -n -P | grep technotesExpected output: nothing
Notes are stored in a single SQLite database at: ~/Library/Application Support/itnotes/itnotes.dbYou own the file. Back it up with any tool you choose.
Architecture technotes is a Wails v2 application: a Go backend and a React frontend running in the macOS system WebView (WKWebView). There is no Electron, no bundled Chromium, and no localhost HTTP server.
Layer Technology
Frontend React 18, TypeScript, Vite
Rendering KaTeX, Mermaid, CodeMirror
Desktop bridge Wails v2 (Go bindings to WebKit)
Backend Go 1.22, single darwin/arm64 binary
Asset embedding //go:embed (frontend, fonts, assets)
Persistence SQLite WAL via modernc/sqlite
Filesystem cgofuse (FUSE interface)
Build Task (Taskfile.yml)
Distribution Code-signed, notarized DMG
The entire application ships as one binary. The React frontend, all KaTeX fonts, and all static assets are compiled into the binary at build time using //go:embed. Installing the app is dragging one file into /Applications.
System requirements
Requirement Minimum
macOS 13 Ventura
Architecture Apple Silicon (arm64)
Disk space 35 MB
Network Not required
Changelog See the Releases page for the full version history and release notes.
License Copyright 2026 David S. Banham. All rights reserved. Third-party open source components and their licenses are listed in THIRD_PARTY_NOTICES, included in every release.