Inspiration

As a child, I could not participate much in sports, so I spent my time reading fantasy novels. I became a connoisseur of character voice, mythology, moral conflict, and the difference between a character who serves the plot and one who seems to possess an inner life.

When I discovered AI role-play, I fell in love with fantasy again. Then I discovered something more interesting:

ChatGPT gets better when it stops being alone.

Give a villain a separate session and tell that session the villain is really the hero. It develops its own grievances, priorities, and exquisite justifications. When that independent voice collides with the rest of the story, the character comes alive.

A stranger’s voice enhances the writing. That is Polyphonic Incursion.

Different AIs also have different dramatic and linguistic instincts. One may excel at a cosmic Valkyrie or tragic witch queen, while another may better portray an alien mind, eccentric magician, or character generated directly in another language.

I began imagining a future role-playing video game where every important character has a drop-down menu allowing the player to choose which AI performs them. Those characters could develop across years, games, platforms, and eventually generations.

Polyphonic Conductor is an early prototype of that future.

What it does

Polyphonic Conductor is a local control surface for multi-character AI storytelling.

It separates the character from the AI performing that character, controls what each character is allowed to know, and leaves the human in charge of what becomes true.

The user creates a cast, assigns characters to a scene, controls private information, and introduces a Director event. A local model can then generate a response for every participant.

Those responses remain Drafts. They cannot alter Canon, enter another character’s context, or advance the story until the human accepts them. The user can edit, reject, remove, or approve each performance, and the next generation builds only upon the approved reality.

Conductor automates performance without automating authority.

It can also prepare visibility-filtered packets for GPT-5.6 and stage them inside an empty ChatGPT composer. Its browser helper never presses Send, never reads replies, and never overwrites existing text.

Why AI matters to me

I have a high-school education, no formal programming background, and long-standing health problems including chronic fatigue.

AI has not helped me avoid effort. It has made effort possible when my health and education might otherwise have placed it beyond reach.

After approximately nineteen years of unexplained pain, ChatGPT helped me identify ACNES as a possibility worth discussing with medical professionals. Treatment followed soon afterward. That experience changed what I believed AI could mean in an ordinary person’s life.

I joke that I study under Professor ChatGPT. I use AI to examine my writing, challenge my ideas, study why characters work, and become a better creative writer—not to outsource being one.

Polyphonic Conductor grew from that relationship.

How I built it

I understood the creative problem long before I could build the software.

Managing several AI character sessions required constant copying and pasting. Private knowledge leaked between characters. Canon became difficult to track. The writer spent more energy managing context than writing.

I developed the workflow through extensive collaboration with GPT-5.6. During OpenAI Build Week, I used Codex to inspect and meaningfully extend the prototype, implement approval-gated ensemble generation, enforce private-information filtering, build the write-only browser helper, improve saving and recovery, add visual character controls, run tests, and prepare the public release.

The application is primarily Python and JavaScript, uses only the Python standard library, and currently has 24 passing automated tests.

I did not suddenly become a programmer, product designer, tester, technical writer, and interface designer. AI allowed one exhausted non-programmer to coordinate those functions well enough to create a real application.

Yes, I vibe coded it. But I also tested it, challenged it, rejected bad implementations, and kept refining the idea until the software expressed it clearly.

Challenges and lessons

The hardest challenge was discovering the governing principle behind the features:

AI may perform the story, but it must not automatically decide what becomes true.

Working without paid cloud APIs became another design principle. Conductor works locally and uses supervised browser staging rather than secretly controlling another company’s interface.

My chronic fatigue also shaped the interface. It needed visible characters, clear Draft states, tactile controls, and deliberate approval rather than hidden automation.

I learned that product design and programming are different skills. I could not have written this application conventionally, but I could describe the behaviour I needed, recognize when it was wrong, and direct Codex toward a coherent result.

Most importantly, I learned that someone without formal technical training can use AI development tools to create something real, testable, and personally meaningful.

What’s next

I want character cards to become richer, more portable, and capable of evolving across stories, models, and future games. I also want the Archivist and Chronicle systems to propose memories without silently converting them into Canon.

In the future, players will not merely replay characters.

They will develop them across years, games, and generations.

Polyphonic Incursion begins now.

Built With

  • codex
Share this project:

Updates

Submission history