Mythic
Mythic is a distraction free writing tool designed for people who play tabletop role playing games (TTRPGs). While there are many writing tools, “second brain” apps, and TTRPG campaign and adventure tools, I wanted something that was fast, lightweight, and didn’t have extra overhead.

For writing, I wanted the clarity of a simple page without a bunch of unrelated features or competing interests getting in the way. The app focuses on simple organisation with documents that link together without effort.
For running a game, I needed immediate access to information. Content needs to be available without waiting on loading times. Moving between related information needs to be simple and quick.
These goals are accomplished in a few different ways.
First and foremost, service workers are employed to cache the entire app locally. This means that subsequent loads don’t need to download the code again. While the browser will still need to parse the Javascript again, dynamic imports are used to delay processing of the editor (the largest part of the app) until it is needed.
User content is also stored in the cache—both text and images—to make navigating between pages almost instantaneous and remove extra trips to the server.
To make finding related content easy while in the middle of running a gaming session, Mythic will automatically link to pages where text matches the title of that page. No manual linking when writing is required. Hovering links to other pages will display a pop-up with that page’s content so leaving the current page isn’t necessary.
All page titles are stored in the cache even if the individual page content hasn’t been loaded. This allows client-side search by page title without any requests to the server, making for an instantly responsive search.
Lastly, the clean design means the story and content get the focus. Rather than wasting cognitive load on the interface, it can be spent with the players and the game.
Mythic has been an incredible way for me to develop myself as a programmer and product owner. I’ve been able to learn about database design, DevOps, backend layers, and the more powerful aspects of the frontend.
