I tried "The Wise Man's Fear" and the results were not so great[1]. It got a good number of the characters, but only showed them being related to Kvothe. Harry potter worked better'ish, but still not great[2].
My primary interest would be using these relational graphs to generate better structured summaries of stories in a structured JSON object for improved search/recommendations.
The thought of The Kingkiller Chronicle hasn't crossed my mind in many years, and now I have renewed sadness that the story will never be finished. :'(
It would be more interesting if the graph could be generated by sourcing an arbitrary epub file into a RAG and have it figure out character relations without reading the whole book.
I wouldn't be surprised if it all could be done with a script using aichat[1] and rendering the diagram using graphviz.
graph TD
A[Carl] -->|Pet| B[Princess Donut]
A -->|Enemy| C[Mordecai]
A -->|Allies| D[Ellie]
A -->|Allies| E[Katia]
A -->|Enemy| F[The System]
B -->|Rival| G[Bea]
D -->|Friend| E
E -->|Friend| A
i'm suffering some frequency illusion right now because I only heard about Dungeon Crawler Carl for the first time, literally yesterday and today here it is in a comment
Mine too. I was disappointed I was going to be left with nothing exciting to read after The Wandering Inn, but this series is amazing. +1 on the suggestion!
I am reading it right now and thought what would be the outcome of doing the same!
Bea being Donut's rival… sounds interesting. Depending how you interpret it, it's not entirely wrong?
Carl being enemy of Mordecai looks really wrong though.
As for Carl being an enemy of the System (I assume the AI), that's also debatable.
And if the friend of a friend rule applied here, I think Carl would be a friend of Ellie too, since Carl is a friend of Katia, and Ellie is a friend of Katia too. And they are all allies. Weird.
Hi, I created the app. I appreciate all of your comments. I know some may find the result of a book not concise or accurate. One issue was that I couldn't afford the price of a better LM service. At first, I tried a free tier of Gemini, but its results were disappointing. Later, I switched to DeepSeek and got better results.
I tried One Hundred Years of Solitude, which has a family tree before main text. Wish the app mentioned the 17 illegitimate sons, all with same name Aureliano.
Cool idea, but from my tests it seems like the LLM needs more grounding since it misses lots of characters. Maybe a list of the actual characters in the story?
Neat! Putting in reference books gives you a nice overview of the book's contents. Fun to think of database transactions as a character with relationships.
Nice idea but the results weren't comprehensive for the book I tested. I find that chatgpt with web search enabled does a better job with the simple prompt "Create a relationship diagram for the characters in <BOOK TITLE> using mermaidjs. Include the relationships between people."
It would be neat if this could handle spoilers. Imagine a friend becomes an enemy 75% of the way through the book. Would there be some way to say "What are the character relationships - I'm on chapter 7 right now"?
It said Circe --Daughter--> Helios. So I thought oh it's supposed to be "Circe is Helios' daughter" but then it had Circe --Brother--> Aeetes and Circe --Mentor-->Hermes.
LLMs make it really trivial to work with MermaidJS. Just yesterday I used it to sketch out some business logic. Seeing the whole flowchart like that helped me catch some corner cases.
Which cheap LLMs are good for Mermaid, and to sketch graphs from code? I had to switch between the cheap LLMs and "tutor" them a bit to edit Mermaid in a Markdown file, although Claude seems perfect.
How does that deal with the important fact that a lot of stories are about relationships changing over time? A enemy can become a friend and vice versa.
You know Alice who wants to delete her account, and Bob who wants to change his password? Maybe the reason why they want to take account actions all of a sudden is because they're in the middle of a breakup and they're having trouble deciding how to divide their assets.
We always take entities in our "user stories" as faceless actors with only enough depth to motivate basic actions in our app. What if we've been missing the real story all along, all these users are characters living out a grand Shakespearean drama, and we've been too blind to see it?
... Wow this is great, I can really appreciate the rich dynamic between Alice and Bob and Eve with this detailed backstory that links their lives. But it is getting to be a bit much to understand all the relationships now; it would be really helpful to have some way to track and visualize the relationships between all of these users / characters, what do I do?
Wild that I was daydreaming earlier today about generating some diagrams with mermaid to show the plot and characters over the lifetime of a tv series!
Then tried Little, Big by John Crowley and the relationships were probably wrong. I mean, Sylvia might be related to George Mouse, but probably should not have a family connection to Daily Alice.
My primary interest would be using these relational graphs to generate better structured summaries of stories in a structured JSON object for improved search/recommendations.
- [1]https://austen.pages.dev/ecbc2d49-c10d-4e49-ac68-0d37a819b52...
- [2]https://austen.pages.dev/ace16c1d-c74e-4737-a98d-5401047a1cd...