SIDEQUEST — Every Stream Writes a Chapter

The Inspiration

Livestreams are incredibly interactive, but most viewer participation disappears when the stream ends. Chat messages scroll away, votes become forgotten, and the community's collective decisions rarely have lasting consequences.

We asked ourselves: What if a Twitch community could build a world together, and every stream continued the story created by the previous one?

That question inspired SIDEQUEST.

SIDEQUEST transforms livestream communities into persistent, evolving RPG worlds. Viewers become heroes, streamers become world hosts, and every adventure contributes to a shared community history. The end of a stream is not the end of the experience. It is simply the end of another chapter.

What We Built

SIDEQUEST combines a persistent community RPG with an adaptive AI Director.

The platform is built around three ideas:

  • Persistent Worlds: Community identity, player progression, guilds, adventures, decisions and consequences form a continuing world.
  • Deterministic Gameplay: Encounters, player actions, contributions and outcomes are controlled by a server-authoritative game engine. Game rules—not an LLM—determine what happens.
  • Adaptive AI Direction: AI helps generate quests, shape narrative experiences and provide context-aware creative proposals grounded in the world's history.

We built a browser-based vertical slice featuring:

  • A streamer command center for managing adventures and encounters.
  • A deterministic encounter engine with player roles and chat-style commands.
  • An OBS overlay preview for presenting gameplay to viewers.
  • A persistent-world domain model for community history and progression.
  • An initial AI quest-generation and narrative layer with structured validation and fallback content.
  • A Twitch-first integration foundation designed around OAuth, EventSub and normalized chat events.

The current prototype demonstrates the core gameplay loop and architecture, with local demo interactions available independently of a live Twitch connection.

How We Built It

We chose a modular monolith with a TypeScript-based architecture rather than prematurely splitting the platform into microservices.

Our stack includes:

  • Frontend: React, Vite, TypeScript
  • Backend: Node.js, Express
  • Realtime: Socket.IO
  • Game Engine: Pure TypeScript domain logic
  • Database: PostgreSQL and Drizzle ORM
  • AI: OpenAI API, structured outputs and Zod validation
  • Streaming Integration: Twitch OAuth, EventSub and chat adapters
  • Testing: Vitest and architecture boundary checks

One of our most important architectural decisions was separating intelligence from authority.

The AI Director can propose a quest, suggest a narrative direction or recommend an experience. However, the game engine validates actions and controls state transitions. This prevents unpredictable model output from directly changing gameplay.

We also designed the platform around persistent world events, snapshots and a transactional outbox so that community history can survive beyond an individual stream.

OpenAI Codex was used as an engineering collaborator throughout the development process, helping us explore the architecture, implement the foundation and iterate on the codebase.

The Challenges

The hardest part was not generating quests with AI. It was designing a system where AI-generated experiences could coexist with reliable multiplayer gameplay.

We encountered several interconnected challenges:

1. Making the world persistent

A conventional stream interaction is temporary. SIDEQUEST needed a world model capable of retaining decisions, player relationships, achievements and consequences across sessions.

2. Keeping AI inside predictable boundaries

An LLM is creative, but a game engine needs consistency. We separated AI proposals from deterministic game execution and introduced schema validation and fallback behavior.

3. Designing reliable multiplayer state

Concurrent viewer actions, duplicate events, encounter transitions and reconnects introduce consistency problems. We designed around server-authoritative state, domain events and persistent event delivery.

4. Connecting the experience to Twitch

Twitch integration requires more than reading chat. Authentication, EventSub delivery, duplicate handling, reconnect behavior and real-time overlay updates all need to work together.

5. Preserving the experience while evolving the architecture

We migrated the original browser prototype into a modular application structure while retaining the command center, encounter loop and overlay as reference experiences.

These challenges shaped the architecture as much as the original product idea.

What We Learned

We learned that building an AI-powered game is fundamentally different from putting an LLM inside a game.

The most valuable architecture is not one where AI controls everything. It is one where AI expands what is possible while deterministic systems preserve trust, fairness and consistency.

We also learned that persistence changes the nature of community participation. When a viewer knows that today's decision can influence next week's adventure, participation becomes more meaningful.

What's Next

SIDEQUEST is designed to grow into a platform where communities develop their own histories, guilds, rivalries and evolving worlds.

Our next milestones include completing live Twitch authentication and EventSub integration, connecting encounter outcomes to persistent world history, strengthening multiplayer reliability and introducing adaptive difficulty and pacing through the AI Director.

Every stream writes a chapter. Every viewer shapes the world. And the adventure continues even after the stream ends.

Built With

Share this project:

Updates

Submission history