Organization: It's Not Just for Infomercials Anymore Again

If you walk into my family's home, you may find it cluttered with toys and books and other miscellaneous messes created by our four children, but what you will not find are scattered bills laying about. For that, and other paper-centric processes, I have a system which has evolved over the years, to the point I'm actually pretty happy with it.

The small apartment we occupied in the mid 2000s was right-sized for our dog, cat, my wife and me. To ensure we didn't accumulate paper clutter, I began the process of scanning any bill or receipt that ended up on the counter, and tossing it right away. It was at this point I became enamored with the YYYY-MM-DD naming convention for dates, as it made things easily sort-able in a directory. Each file I dumped on my PC was backed up to DropBox. This system was okay, but not particularly useful when it came time to try to find something.

In 2010 or so, I started dumping everything into Evernote. Receipt? Evernote. Bill? Evernote. Bank statement? Evernote. Random thought I wanted to remember later? Evernote. I even had some email rules set up to just email digital receipts into Evernote as well. Perhaps the biggest advantage I found from using the product was that Evernote allowed me to put some structure around the digital file cabinet I was building. Since it OCR'd all the images I added, I could actually find things easily later.

But as is the case with many proprietary products which find themselves beholden to stockholders, Evernote began stripping features from its free tier. Since it was one of the few barriers to a full embrace of Linux on the desktop, I was becoming increasingly frustrated that Evernote showed no interest in developing a fully-supported Linux desktop client. Late 2016 brought news that their privacy policy was dubious at best, and it became clear to me that I needed to exfiltrate my notes and find a different solution.

I wanted something open source, cross-platform, fast, secure, searchable, and with a functional mobile client. After trying out a few different open source options, I found Joplin, which fulfilled all those needs, and then some. Joplin, developed by Laurent Cozic, offers end-to-end encryption, so it's suitable to be deployed to a shared hosting platform without worrying about prying eyes snooping through your notes / sensitive data. What it was not capable of, however, was a native way to ingest files from a directory, nor did it automatically OCR images. Also it did not show PDF previews in the UI, which sorta stunk, too (note: embedded PDFs are  now available in the desktop app).

So, I did what any sane, rational human does when confronted with a mild inconvenience: I decided to build a thing to do exactly what I thought was missing from the application! I developed rest-uploader, a python cli application which monitors a directory and pulls new files into Joplin as new notes. The app leverages the watchdog library to monitor a user-specified directory, and pytesseract to perform the OCR on images. As the name implies, documents are then uploaded into Joplin using its built-in REST API.

Now that I've made an obnoxious point to pimp my own wares, here's how I use Joplin:

Take something you might get in the mail, like a vehicle's warranty notice. Upon receiving such a document, I scan it in and it goes to a directory on my computer. In the background, rest-uploader is running. I have it set up as a service on my Linux box. It scrapes the file into the "inbox" notebook of my Joplin tree, and performs an OCR on the note.

I then find the note and name it appropriately to something logical. Joplin allows users to designate notes as to-do, which I enable on bills or anything requiring that I take action. Other documents such as bank statements and kids' report cards just get filed after I look them over and apply any tags to them I think might help me find them later. I have a folder structure which segregates my farming operation documents from my personal file cabinet. As you can see from the screenshot, I have failed at inbox zero, but I aspire to, and sometimes do successfully reach it.

My system works well for me to keep things I need to do in front of me. I can see at a quick glance what the thing is, and file it away without a second thought, knowing I'll be able to find it later just by digging through tags, notebooks, or search terms. The paper copy becomes completely disposable. Now if you'll excuse me, it seems I am overdue to schedule my GMC Sierra for its recall appointment.