雨山


Kaku

2020-03-20

Hey! So, I've given my note-taking app an overhaul and rebranding. Previously, it was called Notes, and was served from my server using a home-made tool called Direbase. I liked the ability to access my notes from anywhere, but in the end, I began to feel that there was too much risk with leaving my notes on a server (and hosting other people's notes there as well!) that's much more exposed than my personal laptop. So, I rebuilt the tool to keep notes locally only and encrypted using sjcl. The tool is now called Kaku (書く in Japanese, which means "write"). You can install it thus:

npm install -g https://gitlab.com/jrc03c/kaku

And then run it with:

kaku

Design-wise, it's still technically a web-app, so it runs in your default browser and passes data back and forth with a locally-hosted web server. (NOTE: Data is never sent anywhere else! It's 100% local! And I'm fairly certain that it's not possible to interact with the server from outside your machine — even on the same LAN — but I'm also not a security expert, so you might take this claim with a grain of salt and do your own testing.) I wanted something that acted a bit like Electron but that didn't have its bloat so that I could use my typical development workflow. I don't know what everyone else's opinion of such an app design is, but I love it. I love being able to use my web development skillset to make an app and run it locally but without having to deal with Electron or desktop development toolkits.

Anyway, I hope you enjoy it!