Skip to content

October 29, 2026 · active

Innfire

Two AI roleplay apps, a website, accounts and paid sync, designed and built by one person with AI. Testing whether a designer can carry a whole product, not just a prototype.

Innfire is a product for people who write long stories with AI characters. It has two parts: Innfire Stories, where you play out a story with an AI, and Innfire Cards, where you build the characters and lorebooks the stories use. Around them sit a website, an account service, a sync relay and analytics.

I design and build all of it, with AI doing most of the engineering. It started in April 2026 as two separate side projects, Chronicle and Card Studio, and became one product when it was clear they served the same people.

The problem

Long AI conversations forget things. Characters drift, relationships reset, plot points vanish, and every roleplay app hides this inside a context window the user cannot inspect. The files that define a character are just as fragile: every app reads the character card format slightly differently, and most editors lose data on the way through.

Can one designer, working with AI, ship and run a whole product to the standard a paying user expects?

Memory you can see and fix

In Innfire Stories the story’s memory is on screen beside the chat. The story so far is a summary the user can read, edit and lock, and pinned facts are things the story must always remember. The model works from these instead of a rolling transcript.

The first version had much more: structured cards for every character, relationship and event, extracted after each reply. I cut it back to the summary and pinned facts before launch, so testers see a product they can understand in a minute.

Innfire Stories: a story with the Story Memory panel open, showing the story so far and a pinned fact the story always remembers

Characters that survive the trip

Innfire Cards imports character cards from any app, in every version of the format, including ones other tools reject, and exports them without losing a field. It counts tokens as you type, flags problems such as greetings that speak for the user, and warns which fields a target platform will drop. It makes no network requests: cards stay in the browser, and an automated test fails the build if that ever changes.

The lesson from building it was that the format spec is the product. Writing the character card spec as schemas, and making them the single source of truth, is what made lossless round trips possible.

Innfire Cards editing a character: the card's fields in the middle, and a token budget and platform warnings on the right

One app, on the web first

Stories began as a desktop app and Cards as a website. In October 2026 I merged them into one Innfire web app with a section for each, installable on phones and computers, and took the desktop app off the launch path. One app means one sign-in, one place to find your characters, and one thing to test before launch.

Everything stays free and runs on the user’s own device. The one paid feature is sync between devices, at €2.49 a month or €19 a year.

The first thing a new user decides is where replies come from: a free cloud model through OpenRouter, set up in about a minute with a free key, or an API key they already have. The screen says what each option costs and where messages are sent, and it can be dismissed without an account or a payment.

The Connect a model screen in Innfire Stories: a recommended free cloud model, or bring your own API key, each with its cost, privacy and who it suits

The Innfire Stories library with three stories

Running it like a product

Before the first feature I wrote the process: a product definition, an engineering spec, architectural rules that must hold from the first commit, and a decision record for every reversal. The instructions for AI live in the repository, so every session starts from the same rules.

The documents that get read are the architectural rules and the decision records. The roadmap does not.

Status

Preparing a first release for testers: the web app with both sections, accounts and paid sync. The main repository has over 290 commits since April 2026 and seven decision records.

Stack

TypeScript and React across both apps, a shared card format package, Cloudflare Workers for accounts, sync and analytics, and Stripe for billing.