TechNote — your Markdown notes, beautifully organized.
TechNote is a self-hosted, distraction-free Markdown-based note-taking app built with Flask and React. Lightweight, fast, and customizable — designed for developers who prefer to keep their notes in plain text and under their control.
- 📂 Local Files, Your Way — Open any folder of Markdown (
.md
) notes directly, no import or sync required. - 🛡️ Own Your Notes — Files are standard Markdown, stored locally — no vendor lock-in, no surprises.
- 🧭 Effortless Navigation — Browse folders, jump between notes, and navigate through headings with ease.
- 🔍 Fast Full-Text Search — Quickly search across all your notes.
- 🖥️ Responsive Interface — Clean, distraction-free design that works beautifully on desktop and mobile.
git clone https://github.com/miladnia/technote.git
cd technote
make install
Requirements: Python
>= 3.10
, Node>= 18.20
, and pipx.
Start the TechNote server:
technote
By default, the server runs on http://localhost:8087
.
Customize with:
technote --host=0.0.0.0 --port=PORT
Tip
To prevent the browser from opening automatically, add the --no-browser
flag.
Use the Open Directory button in the sidebar to open a directory containing your Markdown (.md
) files. If you don't have one yet, you can create an empty directory (e.g., ~/Documents/notes/tech_notes
) and open it. Once opened, you’ll see an option next to the directory name to create new notes.
Tip
No Markdown notes yet? Click "Try with example notes" after launching!
- Rendering: TechNote aims to keep everything explicit and transparent. It simply renders your existing Markdown files as HTML documents. No hidden metadata. No extra files. No surprises. You have full control over your content.
- Caches: To improve performance, notes are cached as HTML and updated automatically when you edit them.
- The database: TechNote uses a lightweight SQLite database to store minimal metadata — such as unique IDs and display names for notes — and the paths to selected directories. Deleting the database will not affect your notes.
- Flask — Powers the back end with a lightweight and flexible Python framework.
- Gunicorn — Serves the app efficiently in production environments.
- SQLite — Stores meta data about notes and directories in a single lightweight file.
- Pandoc — Converts Markdown into beautiful, structured HTML.
- Pypandoc — A Python wrapper around Pandoc for seamless integration.
- React — Enhances the web interface with dynamic, interactive components.
- Bootstrap — Provides a clean, responsive foundation for the UI.
Milad Abdollahnia
TechNote is an open-source software licensed under the MIT License.
See the LICENSE file for details.