8 comments

[ 2.1 ms ] story [ 19.8 ms ] thread
Hey HN! A few years ago I got into D&D by GMing for a group of friends, but found even our casual game generated tons of lore. I looked around for software to help me organize, but didn’t find anything I liked. I decided to make my own, and when I shared the prototype it got really great reception! After several iterations, I now make a living off of it, helping GMs and other creatives keep their worlds organized. The tech-stack is pretty unique! The web app is mostly offline capable, being powered by CRDTs (yjs, specifically), but I also do some server-side things, such as processing huge maps into tile sets and such. Let me know what you think!
What have been the biggest tech hurdles so far?
So one of my goals to start with was data autonomy. Campaign-planning and worldbuilding is really personal, so I wanted to find a way for users to feel in control of their data, while still having robust online features. Implementing a hybrid CRDT application is really hard, it turns out! Especially when your users are super prolific. So building an offline-capable system, able to gracefully support collaboration, that would still scale to thousands of docs, has been the hardest part. I think fundamentally we accomplished that goal, but there's still lots of improvements I want to make.

Another hurdle that fellow developers might be familiar with is dealing with IndexedDB across many platforms... Including Safari.

I can't tell from the description... does this come with a character builder?
LK is a system-agnostic atlas + wiki + whiteboard; we're trying not to encode system-specific stuff, at least not yet. I'd like to implement a plugin system so that we could introduce functions specifically aimed towards 5e, Pathfinder, etc. At its core though we want LK to be useful to anyone building fictional worlds.
What was the biggest architectural decision that you ended up regretting?