Inspiration
I don't have friends, but I still want to play tabletop RPG games, like Call of Cthulhu (CoC) and _ Dungeons-n-Dragons_ (D&D).
In a tRPC game, many components can be abstracted into tools:
- rolling dices,
- looking up rulebooks ("game modules"),
- painting illustrations of scenes,
- generating character sheets, etc.
Intuitively, we can build an agentic chatbot for that.
What it does
It's a chatbot that is capable of:
- rolling dices visually. The dices are 3D, realistic, and interactive.
- looking up rulebooks. That's your RAG part of the work.
- drawing scenes with Stable Diffusion. Fast due to use of Turbo models.
- generating character sheets (which is an example of calling a vanilla Python library).
If you want, this chatbot can run offline. LLMs, SDs, etc. can be served locally.
How we built it
Uses LlamaIndex, Arize Phoenix, Together.ai, and Vessl.ai.
Check out my tutorial series, Let’s write an AI Keeper for Call of Cthulhu!:
The fourth installation of this series will be a review of this Hackathon.
Challenges we ran into
Particularly during this Hackathon:
- Together.ai's OpenAI-compatible API endpoint behaves differently from the official OpenAI endpoint. Detailed analysis here.
- Integrating Chainlit's data persistence support with LlamaIndex took a while. Both libraries provide an abstraction of "chat memory" / "chat buffer". Making them work nicely together isn't obvious.
Accomplishments that we're proud of
During this hackathon:
- I helped a sponsor triage their production bug. It felt just like my day job.
Components built before this hackathon:
- Well documented tutorials as by-products.
- Extremely realistic, interactive dice-rolling scene.

Log in or sign up for Devpost to join the conversation.