JournalBook is a progressive web app that allows you to keep a journal on your own device. Your notes are only stored on your device, they’re never even sent to a server. You don’t even need to sign-in to use it! It works offline, so you can reflect upon your day on the slow train journey home.
This is an overview of the process that Trys took to go about building the Journal Book progressive web app.
I think it is a testament to the amazing stuff that we can create online now, building something that exists solely within the browser with import and export features, and something that works when you need it to most — when you’re offline.
I chose Preact as it’s tiny and fast. This project would be more than achievable in Vanilla JS, but I’m working day-to-day in React so this seemed like a good way to build something nice and quickly. It was mostly built on Boxing Day and I didn’t want to get bogged down in application decisions!
IndexedDB wrapped with idb was the perfect local database layer. It’s all stored directly in the browser and I can separate the data far better than with LocalStorage. There are two data types: questions and entries. Each entry is autosaved to the cache each keypress so there’s no need for ‘save’ buttons, nor waiting for network requests to resolve.An excerpt from Building Journal Book