Overview
Discover what makes Note Mark powerful
Note Mark is a lightweight, web‑based Markdown editor designed for speed and minimalism. At its core it serves as a **single‑page application** that renders notes on the client side using WebAssembly (WASM) for GFM parsing, while a Go‑based backend handles persistence, authentication, and asset storage. The application exposes RESTful endpoints for CRUD operations on notes and notebooks, as well as OIDC integration points for enterprise SSO. Its architecture deliberately keeps the server stateless beyond a flat‑file storage layer, enabling effortless scaling through simple replication or container orchestration.
GFM Rendering
Flat‑File Storage
Asset Management
OIDC SSO
Overview
Note Mark is a lightweight, web‑based Markdown editor designed for speed and minimalism. At its core it serves as a single‑page application that renders notes on the client side using WebAssembly (WASM) for GFM parsing, while a Go‑based backend handles persistence, authentication, and asset storage. The application exposes RESTful endpoints for CRUD operations on notes and notebooks, as well as OIDC integration points for enterprise SSO. Its architecture deliberately keeps the server stateless beyond a flat‑file storage layer, enabling effortless scaling through simple replication or container orchestration.
Key Features & Technical Stack
- GFM Rendering – The editor leverages a WASM‑compiled parser (likely
go-microor similar) to provide near‑native performance for Markdown rendering, eliminating the need for server‑side templating. - Flat‑File Storage – Notes are stored as individual Markdown files with metadata (tags, timestamps) in a directory hierarchy. This eliminates database migration overhead and simplifies backup or version control.
- Asset Management – Binary uploads are stored in a dedicated directory, referenced by UUIDs. The backend serves these assets through secure routes that honor user permissions.
- OIDC SSO – An OpenID Connect provider can be configured via environment variables; the app issues short‑lived JWTs for session management, keeping the authentication flow stateless.
- Responsive UI – Built with modern CSS (likely Tailwind or similar) and JavaScript frameworks, the front end is fully mobile‑friendly and supports dark/light themes.
The stack consists of:
- Backend: Go (1.22+), standard library HTTP server, WASM support for Markdown parsing.
- Frontend: Vanilla JS or a lightweight framework (React/Vue) compiled to ES6, with WebAssembly modules for rendering.
- Storage: Native filesystem; optional Docker volumes or NFS mounts for persistence.
Architecture & Deployment
The application is intentionally container‑first. A single Docker image contains the Go binary, static assets, and a small WASM runtime. Deploying on Kubernetes or Docker Compose requires only mounting a persistent volume for the notes directory and configuring OIDC endpoints. Because the backend is stateless, horizontal scaling is trivial: multiple replicas can share a common volume or use a distributed file system. For very large deployments, the flat‑file approach can be replaced with an object store (S3) by swapping the storage layer in code.
Integration & Extensibility
Developers can extend Note Mark through:
- Webhooks – The API emits events on note creation, update, and deletion. These can trigger CI/CD pipelines or sync services.
- Plugin System – A simple Go plugin interface allows loading custom processors (e.g., Markdown extensions, spell‑checkers) at runtime.
- Custom APIs – The REST endpoints support standard CRUD operations, pagination via query parameters, and bulk imports. Authentication is handled via JWTs issued after OIDC login.
- CLI Tools – A companion CLI (written in Go) can push local files to the server, enabling Git‑based workflows.
Developer Experience
The project follows clean Go conventions and provides comprehensive documentation at notemark.docs.enchantedcode.co.uk. Configuration is driven by environment variables, making it easy to integrate into CI/CD pipelines. The AGPL‑3.0 license ensures that any derivative work remains open source, encouraging community contributions. Active issue tracking on GitHub and a roadmap project board provide transparency into upcoming features.
Use Cases
- Personal Knowledge Base – Lightweight, offline‑ready notes with optional cloud sync.
- Team Documentation Hub – Shared notebooks with OIDC SSO for corporate environments.
- Static Site Generator Input – Use the flat‑file storage as a source for static site generators like Hugo or Jekyll.
- Educational Platforms – Deploy as a teaching aid for Markdown and web development, with the ability to host multiple notebooks per class.
Advantages Over Alternatives
- Performance – WASM‑powered rendering outpaces traditional server‑side Markdown libraries.
- Simplicity – No database schema migrations; a single directory holds all data, easing backups and version control.
- Scalability – Stateless Go server scales horizontally; Docker images are lightweight (~20 MB).
- Extensibility – Plugin hooks and webhooks allow integration with existing tooling without modifying core code.
- Licensing – AGPL ensures any commercial use remains open, fostering a community of improvement.
Overall, Note Mark offers developers a fast, secure, and highly extensible note‑taking platform that can be deployed anywhere from a local laptop to a production Kubernetes cluster with minimal friction.
Open SourceReady to get started?
Join the community and start self-hosting Note Mark today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Ghost
Professional publishing for modern audiences
Flagsmith
Open‑source feature flagging for faster releases
Ghostfolio
Track and analyze your investments with privacy-first precision
EspoCRM
Open‑source CRM for smart customer relationships
LibreServer
Run your own internet services, locally and freely
FreeSWITCH
Open‑source telephony platform for any device
