DEV Community

Hakan Uysal
Hakan Uysal

Posted on

Pervane - Yet another file based note taking and knowledge base building tool

Hi dear dev.to-ers,

I would like to share a hobby project I have been working on for some while: https://github.com/hakanu/pervane | Demo video

Well, as you can guess it's a note taking app. I'm sure there are people like me out there who are looking for "the" note taking app which is covering all of the use cases one can imagine. I'm on that boat and have tried many different self hosted and managed versions. Some were really good like onenote where i have piled up years of notes. And then for years I accumulated in evernote and Google keep. At some point they started to fall short and started to discover markdown language and the flexibility of plain files which are gittable, diffable, greppable, version controllable, extremely portable etc.
So I started to chase down self hosted markdown editors and note taking apps. I've found some and onboarded with my a couple thousand notes I've piled throughout my digital life. They all miss something. eg. boostnote saves in weirdly named cson files; joplin renames the local files with a hash that are not human readable. I settled down on trilium which was almost perfect (web and desktop versions with extreme capabilities plus self hosted) for a while but it started to blip due to using a database rather than flat files.
After all these, I was annoyed enough and started to use markdown files with vscode and python -m SimpleHTTPServer and using terminal to ack or ag the notes i have written before. I have converted all my keep notes into markdown through Google Takeout. It was good at a point where i need to modify my notes from my android phone. I started back to use google keep and then manually paste them into the vscode offline at my desktop. This started to suck and I started to slack off.

I needed something with proper login in a browser working with physical files while being secured and reachable on the internet. That's how Pervane came to life.

The code itself is pretty basic. A flask server with cookie based login for single user only and a vue.js based UI which contains a nice embedded markdown editor called editor.md. I have been using actively every day for my own notes and ironing out things I don't like. Recently added many interesting capabilities like note, tabs, special code notes, directory browsing within the page, better mobile experience, enhanced settings, more keyboard shortcuts etc.

Some noteworthy features

• Completely free
• Open source
• Private (i didn't even put analytics in it)
• Physical file based
• No renaming, no extra file creation(except login database)
• Single/multi user option
• Self hosted (is there an interest for managed?)
• Syncthing, dropbox, nextcloud style syncing with android. No need to open server to the world.
• Extremely portable notes.
• Extremely portable app, it's on pip so you can install any machine with python runtime.
• Blazing fast user experience
• Mostly stateless execution, remembering open tabs, settings etc are based on browser local storage.

Setup

  • Installation: pip install pervane
  • Update the app (2-3 new versions may come per week, still under heavy development) pip install --upgrade pervane

Read More

For more info, take a look at wiki, feel free to create issues on github/pervane

Top comments (0)