Oh, look! Adam made yet another TTRPG tool. Beginning to see a pattern?
It's true, most of my open source repos are tools for running TTRPG games. I'm not even ashamed! I build tools that I need, that make my life easier. That's what we're all doing, right?
This one came about from my frustration at the lack of good, browser-based tools for creating player characters and complex NPCs. I have been working on taking a wonderful old campaign that I had created using 1e rules and converting it for 5e. In one setting, the home city of the player characters, there are a lot of NPCs who need to be fully fleshed-out characters, not just "Bandit Captain" or "Cult Fanatic."
The tricky bit for me is that 5e leveling is much more complicated than 1e. I tried going through each character and leveling them up by hand like I would do with my own character as a player, but it was too time-consuming, and I'm honestly not that familiar with all of the different 5e classes. I strongly favor arcane spell-casters, and haven't ever played a Fighter, Druid, Cleric, Monk, or Rogue. I'm sure that there are many subtleties to creating such NPCs that I would misunderstand or just screw-up.
And honestly, I've been very disappointed by all of the existing browser-based tools that try to do the same or similar work. Some of them give too-little control, assuming that you want to make spur-of-the-moment, replacable NPCs or characters. Some offer no good way to modify results that you don't care for. None that I found provide ways to store and organize collections. And generally, there was very little customizability in how and what they did.
So, here's NPC Easy! A browser-based, local-always tool for creating collections of characters and NPCs. It's profoundly customizable: you can change any existing Race, sub-race, Class, sub-class, Feat, Weapon, Spell, Fighting Style or Magic Item. You can also add your own to any of the above.
It is still in active development. There's some class-specific features of Bard, Monk, Sorcerer and Warlock that still need to be added. I'm sure that there are bugs as well, so I encourage all users to raise an issue when something doesn't work or doesn't work as expected.
It is open-source, of course. Check out the repo on GitHub.