TiddlyWiki and I have had quite a history together. I first started experimenting with TiddlyWiki with classic trying to start a Getting Things Done system and later as a game engine through Twine. But once I discovered what TiddlyWiki was at its core I found that it was the perfect tool to dumb brain ideas into. Anytime I found or thought of a tip, trick, idea, or link I didn’t have to worry where I should store that. Unlink a raw file system where I had to worry about what directory to organize it into or how to manage separate files that are actually related (linked). Searching would need a structured data system. Presentation would need some kind of build system. Web ages needed a server. None of that worked will in the sneaker net that I used to be stuck in long ago.
Like most systems my GTD setup floundered and my use of TW faded. But I revived later when I needed a working static website generator and I knew a normal blog was too much structure for me to keep going. Instead I needed a dumping ground of random stuff big and small that I could have generated to a basic personal home page. TW came to my rescue now at version 5.
The more I used it the more I discovered how flexible it was and how useful it was to have a single HTML file I can place anywhere/anytime. I started using TW for all kinds of things like Minecraft Tutorials and Résumés (CVs). I learned just how many features come built-in from the core modules. And anything that wasn’t in the core modules I could add myself. I started using TW as a base framework to add my own features including image processing build tasks.
Eventually I needed a way to track my daily habits at work. The field I work in needs strict approval for installing applications. It is close to (but not really) air-gapped. I thought TW was perfect for this kind of situation since it just an HTML file running in the browser. Then since we use Node for our development build tools it was not a hard jump to vet the source and run TW under Node. Now with a localhost server I can pin a tab in my browser and have a daily brain dump wiki with daily journalling.
For whatever reason, this has been the only tool I’ve ever tried that has remained in daily use for six years now.
It is for these reasons I find TW to be invaluable for me. I hope these core ideas remain.
- designing a structured wiki
- brain dump ideas without any organization
- complex and expressive searching
- customize anything
- single file saving
- self-executable (runtime on all modern machine by default)
- auto-save to a built-in backend
- no JS frameworks, VanillaJS based core
- zero dependencies
- easy to upgrade
- easy to contribute to
- easy to walk the codebase