GitHub - dsbitor/technotes-releases: technotes — a macOS note-taking app. Download releases here. · GitHub
/" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
dsbitor
technotes-releases
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>4 Commits<br>4 Commits
docs
docs
README.md
README.md
_config.yml
_config.yml
index.md
index.md
View all files
Repository files navigation
technotes
Private, offline-first notes for people who write Markdown,<br>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.<br>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.<br>It is built for users who work with structured technical<br>content: Markdown, LaTeX mathematics, Mermaid diagrams,<br>and source code.
Everything stays on your machine. The binary makes zero<br>outbound network connections at any point during operation.<br>Your notes are stored in a single SQLite database file<br>that you own and can back up, inspect, and move freely.
Features
Markdown
Full CommonMark rendering with syntax-highlighted code<br>fences. The editor is CodeMirror with Markdown awareness.<br>Notes support headings, tables, task lists, and nested<br>blockquotes.
Mathematics
KaTeX renders inline and display-mode LaTeX equations.<br>Both $...$ inline and $$...$$ display syntax are<br>supported. All 20 KaTeX WOFF2 font files are embedded<br>in the binary; no network request is needed to render<br>equations.
Inline: $E = mc^2$<br>Display: $$\nabla \cdot \mathbf{B} = 0$$
Diagrams
Mermaid renders flowcharts, sequence diagrams, entity<br>relationship diagrams, and Gantt charts inside notes.
B{Has math?}<br>B -- yes --> C[KaTeX renders]<br>B -- no --> D[Plain Markdown]<br>```">```mermaid<br>graph TD<br>A[Write note] --> B{Has math?}<br>B -- yes --> C[KaTeX renders]<br>B -- no --> D[Plain Markdown]<br>```
Print and Save as PDF
Cmd+P opens the macOS native print sheet. KaTeX<br>equations and Mermaid diagrams render correctly in the<br>printed output because the DOM is captured after<br>rendering, not before. Font paths are resolved at<br>runtime from the embedded binary, so the output is<br>self-contained.
Tags
Tags are written inline with #hashtag syntax in note<br>content. Clicking a tag filters the note list. Bulk<br>tag operations are supported: select multiple notes and<br>apply or remove a tag in one action.
Attachments
Files are attached to notes via drag-and-drop or the<br>attachment button. Attached images render inline. All<br>other file types are listed as downloadable links.
Bulk Operations
Select multiple notes with checkboxes. Bulk actions<br>include archive, delete, and tag-add. Shift-click range<br>selection is planned for the next release.
Import and Export
Notes can be exported as Markdown files. The underlying<br>SQLite database is a standard file you can query<br>directly with any SQLite client.
Privacy
technotes makes no network connections of any kind.<br>There is no telemetry, no update check, no analytics,<br>and no crash reporting. Verifying this is straightforward:
# Confirm no listening sockets while the app runs<br>lsof -i -n -P | grep technotes<br># Expected output: nothing
Notes are stored in a single SQLite database at:
~/Library/Application Support/itnotes/itnotes.db
You own the file. Back it up with any tool you choose.
Architecture
technotes is a Wails v2 application:<br>a Go backend and a React frontend running in the macOS<br>system WebView (WKWebView). There is no Electron, no<br>bundled Chromium, and no localhost HTTP server.
Layer<br>Technology
Frontend<br>React 18, TypeScript, Vite
Rendering<br>KaTeX, Mermaid, CodeMirror
Desktop bridge<br>Wails v2 (Go bindings to WebKit)
Backend<br>Go 1.22, single darwin/arm64 binary
Asset embedding<br>//go:embed (frontend, fonts, assets)
Persistence<br>SQLite WAL via modernc/sqlite
Filesystem<br>cgofuse (FUSE interface)
Build<br>Task (Taskfile.yml)
Distribution<br>Code-signed, notarized DMG
The...