Files.md: A Minimalist, Plugin-Free Markdown Notes App
Indie Hacker Newsgo watch the original →
the gist
Files.md is a Go-based, zero-build-system note-taking app that rejects the 'second brain' plugin ecosystem in favor of plain Markdown files and local-first architecture.
The Anti-Obsidian Philosophy
Files.md positions itself as a direct alternative to feature-heavy note-taking platforms like Obsidian and Notion. The project rejects the 'second brain' paradigm, arguing that complex plugin ecosystems and proprietary cloud storage create traps for users. Instead, the app enforces a 'first brain' approach, prioritizing data ownership through plain Markdown files that remain readable by any standard text editor without requiring specific software.
Architectural Constraints
The project is built with a strict 'no-build' philosophy to ensure long-term maintainability and simplicity. The frontend consists entirely of vanilla JavaScript, avoiding modern build tools like Webpack or Vite to ensure the index.html file remains functional for years. The backend is a single Go binary with all dependencies vendored directly into the repository, ensuring the project builds even if external package registries go offline. The author explicitly removed WebAssembly support and the Fyne UI toolkit to reduce complexity, maintaining a codebase that one solo developer can fully manage.
Core Functionality and Capture
- Capture Flow: The app uses a chat-like interface where entries are appended to a
chat.mdfile, allowing for rapid thought capture without complex UI overhead. - Linking: Users create links using the
[key, which triggers a file picker to insert standard Markdown links compatible with external tools like GitHub or Obsidian. - Telegram Integration: A bundled Telegram bot allows users to send messages that automatically route into specific files, such as
tasks.mdorjournal/year/month.md. - Sync Options: The app supports four sync modes: fully local, cloud-synced folders (iCloud, Dropbox, Google Drive), a self-hosted Go binary, or a hosted API provided by the developer.
- LLM Context: The project includes an
llms.txtfile atfiles.md/llms.txtto provide context for AI coding agents regarding the project structure.