This is a desktop app that enables you to write journals alongside your images, and videos. It also acts a a beautiful way to store and organize your media.
The design goals for this app were:I wrote the app in ElectronJs so that it will be cross compatible across all Desktop platforms.
One of the main design goals for this app was to be offline and private. I wrote almost all of the code for this app from scratch (no libraries!), so that I have full control over the security of the app.
Although it would've been easier to store the data in a database, I made a custom note storage system with json files for meta data along with the media so that everything can be stored locally.
ElectronJs (the tech stack) uses Inter-Process-Communication to isolate the frontend renderer process (running JavaScript) from the NodeJs backend. Bypassing this isolation would have made it much easier to access the data and manage the file IO operations, but it would expose my application to XSS attacks. Thus I ended up writing backend functions for copying media over to a secure folder that the front-end renderer process can access, without granting the front-end access to the entire file system.