Database-less note-taking web app
GitHub Repo

Database-less note-taking web app

@the_ospsPost Author

Project Description

View on GitHub

Flatnotes: A Database-Less Note-Taking App That Just Works

Sometimes the simplest tools are the most effective. In a world of complex note-taking apps with sync conflicts, subscription fees, and bloated interfaces, it's refreshing to find something that strips everything back to the essentials. Flatnotes does exactly that—it's a web-based note-taking app that stores everything as plain text files.

No databases, no complicated sync protocols, just your notes living as files on the server where you can see them and access them directly. It's the kind of straightforward approach that makes you wonder why more apps aren't built this way.

What It Does

Flatnotes is a self-hosted note-taking web application that completely avoids using a database. Instead, it stores all your notes as individual markdown files in a directory on your server. The app provides a clean web interface for creating, editing, searching, and organizing these notes with features like full-text search and tagging—all while maintaining the simplicity of plain text files behind the scenes.

Why It's Cool

The database-less approach is what makes Flatnotes genuinely clever. Since everything is stored as files, your notes remain accessible even if the app stops working. You can edit them with any text editor, sync them with standard tools like rsync or git, and back them up using simple file-based methods.

The implementation is smart too—Flatnotes handles search by building and maintaining its own search index file, which means you get fast full-text search without relying on external database systems. Tags are implemented simply by including them in the note content as #tag-name, making them both human and machine readable.

For developers, this approach means you can integrate your notes with other tools, version control them properly, and never worry about export formats or vendor lock-in. It's your data, in the most accessible format possible, with a nice web interface on top.

How to Try It

The easiest way to try Flatnotes is using Docker:

docker run -d \
  -p 8080:8080 \
  -v /path/to/notes:/app/data \
  -e FLATNOTES_AUTH_TYPE=none \
  dullage/flatnotes:latest

This will start the app on port 8080 with no authentication (fine for local use) and store your notes in /path/to/notes on your host machine. You can also check out the GitHub repository for more configuration options, including different authentication methods and search customization.

Final Thoughts

Flatnotes embodies the Unix philosophy of doing one thing well. It doesn't try to be everything to everyone—it just provides a clean interface for managing text files. For developers who want a simple note-taking system they can self-host without maintenance overhead, or for anyone tired of complex apps that make simple tasks complicated, Flatnotes is worth a look.

Sometimes the best solution is the one that gets out of the way and lets you focus on what actually matters: your content.


Follow us for more cool projects: @githubprojects

Back to Projects
Project ID: 1984719387132379350Last updated: November 1, 2025 at 08:29 PM