NoteDiscovery is a lightweight, self-hosted knowledge base designed for users who prioritize privacy, control, and simplicity over cloud-based note-taking platforms. Built with FastAPI and Python, it stores notes as plain markdown files and provides a beautiful, responsive interface for organizing thoughts with tags, graphs, and themes. Unlike commercial alternatives like Notion or Evernote, NoteDiscovery gives you complete ownership of your data—no subscriptions, no tracking, and no vendor lock-in. It’s ideal for developers, privacy-conscious individuals, and knowledge workers building a personal wiki or Zettelkasten system.
The app supports Docker-based deployment for easy setup on any server, as well as direct Python execution for development environments. With built-in support for LaTeX equations, Mermaid diagrams, custom themes, plugins, and multilingual interfaces, NoteDiscovery balances functionality with minimalism—making it a powerful yet unobtrusive tool for long-term knowledge management.
What You Get
- Plain Markdown Storage - Notes are saved as standard .md files in a local data directory, ensuring full portability and compatibility with any text editor or tool.
- Graph View - Interactive visualization of note connections, helping users discover relationships between ideas and build a networked knowledge base.
- LaTeX/MathJax Support - Render mathematical equations using LaTeX syntax directly in notes for technical documentation and academic use.
- Mermaid Diagrams - Create flowcharts, sequence diagrams, and other visualizations using Mermaid syntax within markdown files.
- Custom Themes - Apply or create custom UI themes via the themes/ directory, with bundled themes included in the Docker image.
- Plugin System - Extend functionality with custom plugins placed in the plugins/ directory, enabling features like additional export formats or integrations.
- Password Protection - Enable basic authentication via config.yaml to secure your instance with a custom password (default: admin).
- HTML Export - Generate standalone HTML files from notes for sharing without requiring access to the NoteDiscovery server.
- Outline Panel & TOC Navigation - Navigate through note headings with a click-to-jump table of contents for improved readability.
- Multi-Language Support - Built-in translations for English, Spanish, German, and French; add new languages by mounting custom locale files.
- Docker-Optimized Deployment - Pre-built Docker images and docker-compose.yml files simplify setup on any system with Docker installed.
- Dashboard Integration - Official icon available for self-hosted dashboards like Homarr, Dashy, and Heimdall for quick access.
Common Use Cases
- Building a personal second brain - A researcher or writer organizes research papers, ideas, and references using markdown notes with tags and graph connections to uncover hidden insights.
- Creating a private wiki for team documentation - A small dev team hosts NoteDiscovery internally to maintain runbooks, API docs, and project notes without relying on cloud services.
- Privacy-focused note-taking → Solution: Avoiding vendor lock-in - A user tired of Evernote’s subscription model switches to NoteDiscovery to store all notes locally with full control over data and backups.
- DevOps teams managing internal knowledge - A DevOps engineer deploys NoteDiscovery on a home server to document infrastructure configurations, troubleshooting steps, and runbooks—all accessible offline.
- Academic note-taking with equations - A graduate student writes thesis notes using LaTeX math notation and Mermaid diagrams for visualizing concepts, all stored in plain markdown files.
- Local-first knowledge management - A user with intermittent internet access relies on NoteDiscovery’s offline capability to write and review notes without requiring cloud sync.
Under The Hood
Gamosoft-Notediscovery is a full-stack note-taking application that combines a Python backend with a JavaScript/HTML frontend, designed for extensibility and customization through plugins and themes. It emphasizes modularity and localization while maintaining a centralized data model.
Architecture
This project adopts a monolithic architecture with clear frontend-backend separation and a layered structure that supports extensibility and localization.
- Modular plugin system enables runtime extension without application restart
- Theme engine allows visual customization and dynamic UI switching
- Centralized data model underpins the application’s core functionality
- Layered design promotes separation of concerns and maintainability
Tech Stack
Built using Python 3.11 and JavaScript/HTML, the application integrates modern web development practices with a robust backend API.
- FastAPI powers the Python-based backend for scalable API endpoints
- JavaScript and HTML form the interactive frontend with rich content rendering
- Docker integration supports containerized deployment and multi-stage builds
- Markdown, Mermaid, and templating systems enhance content flexibility
Code Quality
While the codebase shows some structural clarity, it suffers from inconsistent practices and limited automated testing.
- Error handling is present but inconsistently applied across modules
- Minimal test coverage suggests a lack of comprehensive automated testing
- Inconsistent naming and structure point to reduced code consistency
- Technical debt is evident in the absence of extensive documentation or style enforcement
What Makes It Unique
This project distinguishes itself through its modular architecture and customization capabilities, offering a flexible note-taking experience.
- Plugin architecture supports runtime extensibility without requiring application restarts
- Built-in theme system enables extensive visual personalization and adaptability
- Documentation templates support rich content rendering including math expressions
- Multi-language support through locale files enhances global accessibility