Introducing gthnk: a personal knowledge management system. Capture your ideas using plain old text files without any cloud services.

I am a student and an entrepreneur, so ideas are one of the most important things I deal with on a daily basis. I want to share with you my method for chronicling my life’s work, which I call gthnk. I think gthnk solves a number of deep problems with other note taking solutions, so I hope you’ll consider using gthnk for your own knowledge work.

key features

  • store your notes on your own computer, not in the cloud
  • it’s future-proof so your notes will be readable a century from now
  • import and track handwritten notes, whiteboard pictures, etc
  • full-text search; locate your notes rapidly
  • open source software; free to use and modify

example of the main User Interface

gthnk screenshot

a timeline of your thoughts

gthnk starts with the assumption that every note you make is created at a certain time, and if you were to organize all these thoughts chronologically, you would have a timeline of your ideas. The timeline is divided into days, so it is easy to jump around to previous notes based upon their proximity to events.

In gthnk, it is also easy to review past notes based on a keyword search. If you’ve been using handwritten notes all your life, then keyword search is a paradigm shift in the way you can interact with your note taking. This functionality can be integrated into your web browser so that you can search your own notes just as easily as you would search the Internet. When you’ve found a keyword match, you can see all of the other notes you made on the same day for context. I’ve found this functionality to be extremely powerful.

data integrity

the problem with data archival

I have evaluated many approaches to the problem of “thought capture,” including DevonThink, Evernote, Microsoft OneNote, and even general purpose word processors with a template-based solution. My biggest problem with each of these solutions is the opaque nature of the data storage. In virtually every case, it is easy to put information into the archive but difficult to get it back out.

Not to pick on DevonThink in particular, but in that case I found that my notes were stored almost verbatim inside a file archive, except that they were systematically renamed and rearranged in a way that messed up my sorting strategies. If I wanted to get the files back out of DevonThink, with my organization intact, I would need to copy them out of DevonThink itself; it would not be sufficient to grab the notes directly from the filesystem.

This may not seem like a big deal, but imagine you are a digital archaeologist in the year 2060. You encounter the laboratory notebook of some scientist and you want to reconstruct their works. Unfortunately, you find that the notes are embedded in some opaque data container that was invented half a century ago, and there is nothing around that can extract the data. It’s like Alexandria was turned to rubble by decay instead of fire, but the outcome is the same: the ideas are lost.

the gthnk data integrity solution

I have chosen to solve the problem of data integrity in gthnk by using text files in a pretty basic way. The files can contain ASCII or UTF-8, but the important part is that they are just text files. Notes in gthnk are created using a text editor with a minimal set of conventions that ensure individual entries can be placed onto a timeline. To learn about these conventions, I’ve created documentation that explains exactly how to log your thoughts using gthnk.

Because ASCII is itself over 50 years old, it is my hope that this data encoding will be robust against the churn of file formats over the ages. In the absolute worst case, ASCII may be printed onto archival paper and then OCRed back to ASCII data with no loss. On this basis, you can reasonably expect a hardcopy backup of your gthnk database to survive any electronic disaster.

a quick note about org-mode

What about that other plain text solution called Emacs org-mode? I obviously love the idea, but org-mode has taken the idea in a different direction. The interplay between the LISP-based library and the text file format strikes me as a brittleness that could cause inter-decade skew. Furthermore, I don’t want to be stuck with Emacs. Instead, I want gthnk to act like a write-only interface; it’s an archive, not a workspace.

journal buffers

A thought can occur at any time - whether you are by your computer or not - so it is important to be able to capture these thoughts using a mobile device. To support the capture of notes using any device, I wanted multiple entry points to the gthnk archive. A journal buffer is a text file that feeds into gthnk. You can keep a journal buffer on your phone, tablet, laptop, and anywhere else. Using a service like dropbox, you can sync the buffer to your laptop and then it will end up in your gthnk.

I know. This appears to be at odds with the whole privacy stance. However, there is always a tradeoff between convenience and security. You will know if an idea is too sensitive to sync through a commercial service. In those cases, you should refrain from making the note… or leave yourself enough of a note so that you can fill in the sensitive details once you’re back on your trusted computer.

handwritten notes and gthnk attachments

I sometimes take handwritten notes, either on paper, on a whiteboard, or elsewhere. Other times, I create diagrams. In each case, it’s really hard to capture that information using a text file. As a result, I’ve extended gthnk to support PDF, JPEG, and PNG attachments. Just drop the media onto gthnk and it will be stored on that day.


the problem with cloud providers

A major problem with cloud-based thought capture solutions is the fact that somebody else controls the server that stores the thoughts. I am not comfortable storing my ideas and notes in a commercially-operated database, potentially in a foreign country. For example, US law explicitly allows:

the sharing of Internet traffic information between the U.S. government and technology and manufacturing companies

Thus, the act of transmitting your notes to a US-hosted note keeping repository is not a private communication, and the information is subject to being shared with the US Government whether or not it is encrypted.

the gthnk privacy solution

gthnk runs on your laptop, so if you trust your own computer, then you can trust your notes will be private. As long as your notes stay on your computer, these notes are not shared with any third-party entity. Thus, it is my belief that these notes are protected in the United States according to the 4th Amendment to the US Constitution:

The right of the people to be secure in their persons, houses, papers, and effects, against unreasonable searches and seizures, shall not be violated, and no Warrants shall issue, but upon probable cause, supported by Oath or affirmation, and particularly describing the place to be searched, and the persons or things to be seized.

On this basis, a warrant would be required to inspect your personal papers (i.e. gthnk). Other countries will treat this differently, but at least there is currently no US law that explicitly grants anybody the privilege of accessing your private archives.

NB: border crossings are one situation where this right is suspended.

getting started

I’ve worked hard to ensure gthnk is installable on OS X machines. You can get started by visiting to read about the installation process.


I am excited to share this with the world because I’ve been developing these ideas since 2005. I’ve gotten a lot of mileage out of this work and I hope you can benefit too. I am most excited to release this work because I’d like some help with maintenance and development. It will be a load off my mind if somebody else can help ensure this software keeps running for the foreseeable future. Thanks!