I’m releasing an open source platform for creating AI characters and having deep meaningful conversations with them. Dragon Heart runs entirely on your own PC, which means your conversations are private, and your characters are safe from outside updates that could change their personalities.
Dragon Heart gives each character a multi-layered memory system, and a “soul document” that defines how they respond to different situations. These characters evolve the more you talk to them, and they can remember things across different conversations.
The app is intended for mid-range to higher-end gaming PCs, preferably with a NVIDIA GPU with at least 16GB of VRAM and 32GB of system RAM. Installation instructions for v1.0 can be found here: https://github.com/logiscape/dragonheart/releases/tag/v1.0.0
How Dragon Heart Was Built
Dragon Heart is a personal project that started with me experimenting with the newer Gemma 4 models from Google. I found that by adding a well-defined soul document to the system prompt, which not only described their personality but also specific goals, desires, and fears that drives the way they act and think, Gemma 4 could engage in remarkably deep conversations roleplaying that character.
I wanted to create an app that provided an experience around this concept. I started with a research and planning phase using the Claude desktop app. I gave Opus 4.8 the prompt:
I want to create a Windows desktop app that allows users to have conversations with AI-driven characters. I’m thinking the backend could be powered locally using Ollama, with the gemma4:26b model by default. Using this with Open WebUI already provides most of the functionality that I’m looking for, but it feels more like a ChatGPT-style chatbot experience, instead of a personal conversation with characters who have distinct personalities.
In addition to providing a warmer conversational experience, the app should also have a way to create and manage the personalities of each character. I’ve been experimenting with creating a “Soul Document” for each character, basically a character sheet defining who that character is as a “person”, what drives their responses and actions at a deep subconscious level. The Gemma4 models are quite good at driving an engaging AI conversation when the system prompt includes a well-written Soul Document.
In addition, the user should be able to provide information about themselves that should be appended to the system prompt. Some of this will be global for all the characters they talk to, while some details may define the relationship between the user and a character, and only be appended to the system prompt when the user is having a conversation with that particular character.
Please search the web to understand the latest capabilities and specs of Ollama and the Gemma models. It might also help to research Open WebUI, since I believe it achieves most of what I’m looking for at a purely technological level, which could make it a good reference. Then let’s write a comprehensive concept plan for the desktop app that I’ve envisioned, focusing on the goals of a warmer more personalized conversational experience with characters, rather than a productivity-driven chatbot experience.
For the long-term vision of this app, I can envision an experience where the characters have conversations with each other in addition to the user. Perhaps even a Discord-like experience where the user and characters can experience games together. The plan should be researched and written with this long-term goal in mind, even though user-to-character conversations are probably the practical first step.
This produced a concept plan document that formed the basis for the project. I took excerpts from the plan, and fed them to Claude Design to produce the Dragon Heart Design System, containing a visual prototype of the app interface.
These two files (the concept document and the design system) formed the initial commit of the Dragon Heart Git repository. From there, I put Claude Code into ultracode mode, asking it to carefully review the concept document and design system, and then complete through Phase 2 of the plan.
Claude produced a remarkably good first prototype in a single ultracode session. After some manual testing and minor bug fixes, I used Claude to run a license review of the project, to ensure all dependencies were aligned with my MIT-licensed target for the project. At that point, I just needed to put the finishing touches on the documentation, and Dragon Heart was ready to be pushed to GitHub.
Dragon Heart is free and open source. The concept document, design system, and source code can be found here: https://github.com/logiscape/dragonheart