Skip to content

Project plan

Progressive World-Building Platform - Product Knowledge Base

Overview

What Is This Platform?

A collaborative content roadmap and relationship mapping tool designed for progressive world-building in tabletop RPG campaigns, serialized fiction, and creative writing projects.

The Problem We're Solving

For Storytellers/Game Masters:

  • Managing content releases for ongoing campaigns or serialized stories
  • Tracking what lore/content has been revealed vs. what's planned
  • Communicating development status to players/readers
  • Visualizing complex character and faction relationships
  • Coordinating with co-creators and managing collaborative projects

For Players/Readers:

  • Understanding what content is available and what's coming
  • Tracking their character's relationships and connections
  • Seeing how their character fits into the larger world
  • Collaborating with other players on shared backstories
  • Following the development of ongoing stories/campaigns

For Writing Groups & Co-Creators:

  • Coordinating multiple writers working on shared universes
  • Maintaining consistency across collaborative content
  • Transparent communication about who's working on what
  • Version control and change tracking for collaborative writing

How We Solve It

This platform provides:

  1. Content Timeline System - Track content releases in themed "updates" showing what's published, in-development, or planned
  2. Relationship Mapping - Visual network graphs showing character connections, faction relationships, and social dynamics
  3. Multi-Project Support - Manage multiple worlds, campaigns, or story universes independently
  4. Collaboration Tools - Multiple users with role-based permissions working together
  5. Privacy Controls - Projects can be public (showcase work) or private (internal group use)
  6. Progressive Release Model - Perfect for campaigns/stories that unfold over time in batches

Core Concepts

1. Projects

Definition: A Project is a self-contained world, campaign, or story universe.

Examples:

  • "Anaria" - Dark fantasy world
  • "Vampire: LA by Night" - V:TM campaign
  • "The Broken Spire" - D&D campaign
  • "Nebula Station" - Sci-fi collaborative novel

Characteristics:

  • Each project is isolated (separate timelines, characters, relationships)
  • Projects can be public or private
  • Multiple users can collaborate on a project
  • Creator controls visibility and permissions

2. Content Timeline

Definition: A chronological roadmap of content releases showing development status.

Structure:

Project
└── Timeline Updates (e.g., "Session 1: The Blood Moon")
    └── Sections (e.g., "Characters", "Locations", "Plot Reveals")
        └── Items (e.g., "Lord Valtor revealed as vampire")
            └── Sub-Items (optional nested content)

Development Status:

  • 🟢 Published - Content is live/revealed to audience
  • 🟡 In Development - Actively being created/prepared
  • 🟣 Concept - Planned for future, not started
  • Legacy - Old content, archived or deprecated

Use Cases:

  • Game Masters: Track session content and reveals
  • Writers: Document story chapters and plot progression
  • World Builders: Organize thematic content releases

3. Relationship Maps

Definition: Visual network graphs showing connections between entities.

Two Types of Maps:

Character Relationship Maps

Shows connections between individual characters.

Relationship Types:

  • Family (parent, child, sibling, spouse, cousin)
  • Social (friend, enemy, rival, mentor, student, lover)
  • Professional (employer, employee, colleague, business partner)
  • Supernatural (sire/childe for vampires, pack bonds for werewolves)
  • Custom types (user-defined)

Who Creates:

  • Storyteller: Creates NPC relationships
  • Players: Create their own character relationships
  • Collaborative: Players link to other player characters

Visibility:

  • Can be public (everyone sees) or private (only creator/storyteller)
  • Permission controls per relationship

Faction Relationship Maps

Shows connections between organizations, houses, factions, coteries, packs, etc.

Relationship Types:

  • Allied
  • Enemy
  • Neutral
  • Trade Partners
  • Vassals/Overlords
  • Secret Alliances
  • Custom types

Use Cases:

  • Vampire clans and their dynamics (V:TM)
  • Noble houses and alliances (Game of Thrones style)
  • Factions in sci-fi or fantasy settings
  • Political parties and movements

4. Collaboration & Permissions

Roles in a Project:

RolePermissions
OwnerFull control - manage project, content, users, settings
Storyteller/GMManage timeline, create NPC relationships, moderate player content
Writer/Co-CreatorCreate and edit timeline content, add characters/factions
PlayerCreate their own character, define their relationships, view content
ViewerRead-only access to public content

Permission Controls:

  • Project-level: Who can view/access the project
  • Content-level: What content is visible to whom
  • Relationship-level: Who can see specific relationships

5. Privacy Settings

Project Visibility:

  • Public - Anyone can view (listed, searchable, shareable)
  • Unlisted - Anyone with link can view (not searchable)
  • Private - Only members can view (invitation required)

Content Granularity:

  • Entire project can be public/private
  • Individual timeline updates can be restricted
  • Specific relationships can be hidden
  • Player characters can be private or shared

Use Cases:

  • Public: Writers showcasing their world-building
  • Unlisted: Sharing with specific reader group
  • Private: Game groups, internal writing circles

User Personas

1. The Game Master / Storyteller

Name: Alex - Running a Vampire: The Masquerade campaign

Needs:

  • Track revealed vs. unrevealed NPCs and plot points
  • Visualize coterie relationships and clan politics
  • Manage session content chronologically
  • Collaborate with co-ST for large campaign
  • Allow players to define their own character relationships
  • Control what players can see vs. what's behind the curtain

Workflow:

  1. Create private project "Vampire: New Orleans"
  2. Add timeline updates per session ("Session 1: First Blood")
  3. Populate with revealed NPCs and locations
  4. Mark unrevealed content as "Concept" status
  5. Create faction map showing clan relationships
  6. Invite players with "Player" role
  7. Players create their character profiles and relationships
  8. Review and approve player-created content
  9. After each session, update timeline with reveals
  10. Gradually change status from "Concept" to "Published"

2. The Serial Fiction Writer

Name: Sarah - Writing progressive web novel "The Broken Crown"

Needs:

  • Document story progression chapter by chapter
  • Track character introductions and relationship development
  • Show readers what's published vs. coming soon
  • Build anticipation with planned content
  • Visualize complex family trees and political alliances
  • Allow fan engagement with public relationship maps

Workflow:

  1. Create public project "The Broken Crown"
  2. Add timeline updates per chapter ("Chapter 5: The Betrayal")
  3. Mark published chapters as "Published" with links
  4. Show upcoming chapters as "In Development" or "Concept"
  5. Create character relationship map as story unfolds
  6. Update relationship map as new connections revealed
  7. Readers view public roadmap and see story structure
  8. Use changelog to note plot developments

3. The World-Building Team

Name: Marcus & Team - Collaborative sci-fi universe "Nebula Station"

Needs:

  • Three writers working on different storylines in shared universe
  • Maintain consistency across multiple story arcs
  • Track who's working on what content
  • Visualize station factions and political landscape
  • Share world bible with all team members
  • Control public vs. internal visibility

Workflow:

  1. Marcus creates project "Nebula Station" (unlisted)
  2. Invites co-writers Jordan and Emma as "Co-Creators"
  3. Each writer manages their own story arc as timeline updates
  4. Shared faction map shows station politics (visible to all)
  5. Character relationship maps link across story arcs
  6. Writers use comments/notes for coordination
  7. When ready, change project to public
  8. Readers see unified story universe with multiple arcs

4. The Player / Reader

Name: Jamie - Player in Alex's Vampire campaign

Needs:

  • Create character profile (Toreador vampire named Vivienne)
  • Define relationships with other PCs and NPCs
  • See which NPCs have been introduced
  • Understand coterie structure and clan politics
  • Keep some relationships secret (hidden agendas)
  • Know what content is coming vs. what's revealed

Workflow:

  1. Accept invitation to "Vampire: New Orleans" project
  2. Create character "Vivienne Durand"
  3. Add public relationships (coterie members, known allies)
  4. Add private relationships (secret sire, hidden rival)
  5. View timeline to see session content and reveals
  6. Check faction map to understand clan dynamics
  7. Link character to other player characters
  8. Storyteller can see all relationships (public and private)
  9. Other players only see public relationships

Key Features

Feature 1: Multi-Project Management

Description: Create and manage multiple independent projects.

Capabilities:

  • Create unlimited projects
  • Each project has isolated data (timelines, characters, factions)
  • Project dashboard showing statistics
  • Switch between projects easily
  • Archive/delete projects
  • Project settings (name, description, visibility, theme colors)

User Interface:

  • Project list/grid view
  • Search and filter projects
  • "Create New Project" button prominent
  • Project switcher in header/sidebar
  • Recent projects quick access

Feature 2: Content Timeline Management

Description: Chronological roadmap of content releases with development status.

For Storytellers/Creators:

  • Create timeline updates (themed content releases)
  • Organize content into sections and items
  • Set development status (Published, In Development, Concept, Legacy)
  • Drag-and-drop reordering
  • Rich text descriptions
  • Add external links (optional - for published content)
  • Mark items as "pending" (planned but not named yet)
  • Hierarchical content (items can have sub-items)
  • Color-code updates by theme
  • Changelog tracking (what changed in each update)

For Players/Readers:

  • View chronological timeline of content
  • See development status at a glance
  • Filter by status (show only published, or show all)
  • Search timeline content
  • Expand/collapse updates for readability
  • Mobile-responsive view

Admin Features:

  • Bulk status changes
  • Duplicate updates (template reuse)
  • Export timeline data

Feature 3: Character Relationship Mapping

Description: Visual network graph showing character connections.

Capabilities:

  • Create character nodes (name, description, image)
  • Define typed relationships between characters
  • Relationship properties:
    • Type (family, social, professional, supernatural, custom)
    • Strength (weak to strong)
    • Status (active, ended, secret)
    • Description/notes
    • Visibility (public or private)
  • Bidirectional relationships (A→B automatically creates B→A)
  • Hierarchical relationships (parent/child in family trees)
  • Multiple relationships between same characters

Visualization:

  • Interactive node-and-edge graph
  • Color-coded by relationship type
  • Node size = importance/prominence
  • Edge thickness = relationship strength
  • Click node to view character details
  • Hover for relationship description
  • Zoom, pan, and explore
  • Filter by relationship type
  • Hide/show node types
  • Export as image

Permission Controls:

  • Players create their own character
  • Players define their character's relationships
  • Storytellers can view all relationships (including private)
  • Players only see public relationships of others
  • Storytellers can create NPC relationships

Feature 4: Faction Relationship Mapping

Description: Visual network showing organizations and their dynamics.

Capabilities:

  • Create faction/organization entities
  • Faction properties:
    • Name and description
    • Type (political, military, religious, criminal, etc.)
    • Members (linked characters)
    • Leadership hierarchy
    • Symbol/emblem (optional image)
    • Headquarters/location
  • Define faction relationships:
    • Allied, Enemy, Neutral, Trade Partners, etc.
    • Relationship strength and status
    • Public vs. secret alliances
    • Historical relationship changes
  • Nested factions (sub-organizations)

Visualization:

  • Similar to character map but faction-focused
  • Color-coded relationship types
  • Group member characters within faction nodes
  • Show power dynamics through visual hierarchy
  • Filter by faction type
  • Time-travel view (see relationships at specific dates)

Use Cases:

  • Vampire: The Masquerade clan politics
  • Noble house alliances (Game of Thrones style)
  • Gang territories and conflicts
  • Corporate faction dynamics in cyberpunk
  • Starship fleet allegiances in sci-fi

Feature 5: Collaboration System

Description: Multi-user support with role-based permissions.

User Management:

  • Invite users by email
  • Assign roles (Owner, Storyteller, Co-Creator, Player, Viewer)
  • Pending invitations management
  • Remove users from project
  • Transfer ownership
  • View all project members

Activity Feed:

  • Real-time updates of changes
  • Who added/edited what content
  • Filter by user or content type
  • Timeline of project evolution

Comments & Discussions:

  • Comment on timeline updates
  • Comment on characters/factions
  • @ mention users for notifications
  • Resolve/unresolve threads
  • Moderation controls for owners

Version History:

  • Track changes to content
  • View previous versions
  • Compare versions (diff view)
  • Restore previous versions
  • Audit trail for collaboration

Feature 6: Privacy & Visibility Controls

Description: Granular control over what's visible to whom.

Project-Level:

  • Public, Unlisted, or Private
  • Require approval for joining
  • Invitation-only mode
  • Password protection (optional)

Content-Level:

  • Timeline updates can be restricted to roles
  • Hide specific items from certain roles
  • "Spoiler" mode (content hidden until published)

Relationship-Level:

  • Public relationships (everyone sees)
  • Private relationships (only creator + storytellers see)
  • Hidden relationships (secret from other players)

User Stories:

  • GM: "I want players to see published content but hide my planning"
  • Player: "I want my secret vampire sire hidden from other players"
  • Writer: "I want to show readers my roadmap but not unpublished chapters"

Feature 7: Search & Navigation

Description: Find content quickly across projects.

Global Search:

  • Search all projects you have access to
  • Search within specific project
  • Search timeline content
  • Search characters and factions
  • Search relationships
  • Keyword highlighting in results

Filters:

  • Filter by content type
  • Filter by development status
  • Filter by creator/owner
  • Filter by date range

Navigation:

  • Breadcrumb trails
  • Recently viewed items
  • Bookmarks/favorites
  • Quick switcher (Cmd/Ctrl+K)

Feature 8: Changelog System

Description: Track content evolution over time.

Two Types:

Project Changelog

  • Track changes to specific timeline updates
  • Show what was added/updated/removed
  • Timestamped entries
  • Visible on timeline update cards
  • Toggle show/hide changelog

Platform Changelog (Optional)

  • Development updates to the platform itself
  • New features and improvements
  • Separate page for platform news

Changelog Entry Structure:

  • Date and time
  • Title
  • Description (optional)
  • New items list
  • Updated items list
  • Removed items list

User Workflows

Workflow 1: Setting Up a New Vampire: The Masquerade Campaign

Actors: Alex (Storyteller), 4 Players

Steps:

  1. Alex - Initial Setup
    • Create project "Vampire: Chicago by Night"
    • Set to Private
    • Choose theme (dark red/crimson colors)
    • Add project description
  2. Alex - Create Content Structure
    • Create timeline update "Prologue: The Embrace"
    • Add sections: "Characters", "Locations", "Clans"
    • Add NPCs with "Concept" status (players don't see details yet)
    • Create faction map with 5 clans
    • Define clan relationships (Camarilla politics)
  3. Alex - Invite Players
    • Invite 4 players with "Player" role
    • Players receive email invitations
    • Players create accounts and accept
  4. Players - Character Creation
    • Each player creates their character
    • Add character description and background
    • Define relationships to NPCs (if any)
    • Link to other player characters (coterie bonds)
    • Some relationships marked private (secrets)
  5. Session 1 - During Play
    • Alex reveals NPCs and locations during session
    • Takes notes on revelations
  6. Alex - Post-Session Update
    • Change revealed NPCs to "Published" status
    • Add changelog: "Revealed Prince Marcus and Sheriff Elena"
    • Update faction map (coterie added as new faction)
    • Players can now see full NPC details
  7. Ongoing - Progressive Reveals
    • Each session, more content moves from Concept → Published
    • Relationship maps grow more complex
    • Players update their character relationships
    • Changelog tracks story progression

Result: Campaign has transparent roadmap, players track revelations, complex politics visualized


Workflow 2: Collaborative Fantasy Novel Writing

Actors: Maya (Lead Writer), Jordan (Co-Writer), 1000 Public Readers

Steps:

  1. Maya - Project Creation
    • Create public project "The Shattered Realm"
    • Add project description and cover art
    • Create timeline update structure for 3 story arcs
  2. Maya - Story Arc 1 Setup
    • Create "Arc 1: The Awakening" update
    • Add chapters as items (Chapter 1, 2, 3...)
    • Mark published chapters as "Published" with links to blog
    • Mark upcoming chapters as "In Development" or "Concept"
    • Add character relationship map for main cast
  3. Maya - Invite Co-Writer
    • Invite Jordan as "Co-Creator"
    • Jordan manages "Arc 2: The Rebellion"
  4. Readers - Discovery
    • Find project via public search
    • View timeline to see story structure
    • See 5 chapters published, 3 in development, 10 planned
    • View character relationship map
    • Understand story progression and what's coming
  5. Maya & Jordan - Coordination
    • Use comments to discuss character arcs
    • Jordan adds character in Arc 2
    • Maya links character to Arc 1 characters
    • Relationship map shows connections across arcs
    • Maintain consistency through shared visibility
  6. Weekly Updates
    • Publish new chapter
    • Update timeline (Concept → In Development → Published)
    • Add changelog noting new chapter
    • Update relationships as story progresses
    • Readers check for updates

Result: Transparent storytelling, reader engagement, coordinated collaboration


Workflow 3: Player-Driven Relationship Building

Actors: Sam (Player), Casey (Player), Alex (Storyteller)

Steps:

  1. Sam - Create Character "Marcus"
    • Add Marcus to project character list
    • Write background and description
    • Define public relationship: "Friend" → Casey's character "Elena"
  2. Sam - Add Secret Relationship
    • Create private relationship: "Secretly working for" → NPC "The Baron"
    • Only Sam and Storyteller can see this
    • Other players see Marcus but not the secret relationship
  3. Casey - Link to Sam
    • Casey creates Elena
    • Sees Sam's public relationship offer "Friend"
    • Accepts and reciprocates
    • Adds details: "Elena and Marcus grew up in same city"
  4. Sam & Casey - Expand Together
    • Sam adds: "Marcus saved Elena's life"
    • Casey adds: "Elena mentors Marcus in combat"
    • Relationship grows richer with collaborative detail
  5. Alex - Review Secret Relationships
    • Alex (Storyteller) can see Marcus's secret Baron connection
    • Uses this for plot development
    • Creates tension in story based on secret
  6. During Play
    • Alex reveals Baron is Elena's enemy
    • Marcus's player faces tension: loyalty to friend vs. secret master
    • Story emerges from player-defined relationships

Result: Player agency, collaborative storytelling, hidden depths


Technical Architecture

Data Model

Projects

interface Project {
  id: string;
  name: string;
  description: string;
  visibility: 'public' | 'unlisted' | 'private';
  theme: {
    primaryColor: string;
    accentColor: string;
  };
  createdAt: timestamp;
  updatedAt: timestamp;
  ownerUserId: string;
}

Project Members

interface ProjectMember {
  projectId: string;
  userId: string;
  role: 'owner' | 'storyteller' | 'co-creator' | 'player' | 'viewer';
  joinedAt: timestamp;
}

Timeline Updates

interface TimelineUpdate {
  id: string;
  projectId: string;
  title: string;
  color: 'red' | 'blue' | 'green' | 'purple' | 'amber';
  status: 'published' | 'in-development' | 'concept' | 'legacy';
  sections: Section[];
  changelog: ChangelogEntry[];
  order: number;
  createdBy: string;
  createdAt: timestamp;
  updatedAt: timestamp;
}

interface Section {
  label: string;
  items: Item[];
}

interface Item {
  name: string;
  description?: string;
  url?: string;
  isPending?: boolean;
  subItems?: Item[];
}

interface ChangelogEntry {
  date: string; // ISO datetime
  title: string;
  description?: string;
  new?: string[];
  updated?: string[];
  removed?: string[];
}

Characters

interface Character {
  id: string;
  projectId: string;
  name: string;
  description: string;
  imageUrl?: string;
  type: 'pc' | 'npc'; // Player Character or NPC
  createdBy: string; // userId
  visibility: 'public' | 'private';
  metadata: Record<string, any>; // Flexible custom fields
  createdAt: timestamp;
  updatedAt: timestamp;
}

Relationships

interface Relationship {
  id: string;
  projectId: string;
  sourceCharacterId: string;
  targetCharacterId: string;
  type: 'family' | 'social' | 'professional' | 'supernatural' | 'custom';
  subtype: string; // e.g., 'parent', 'friend', 'sire', 'enemy'
  strength: number; // 1-5
  status: 'active' | 'ended' | 'secret';
  description?: string;
  visibility: 'public' | 'private'; // Private = only creator + storytellers
  createdBy: string;
  createdAt: timestamp;
}

Factions

interface Faction {
  id: string;
  projectId: string;
  name: string;
  description: string;
  type: 'political' | 'military' | 'religious' | 'criminal' | 'other';
  symbolUrl?: string;
  memberCharacterIds: string[];
  parentFactionId?: string; // For nested factions
  createdBy: string;
  createdAt: timestamp;
  updatedAt: timestamp;
}

Faction Relationships

interface FactionRelationship {
  id: string;
  projectId: string;
  sourceFactionId: string;
  targetFactionId: string;
  type: 'allied' | 'enemy' | 'neutral' | 'trade' | 'vassal' | 'custom';
  strength: number; // 1-5
  isSecret: boolean;
  description?: string;
  createdAt: timestamp;
}

Backend Requirements

Must Support:

  1. Multi-tenancy - Projects completely isolated
  2. Real-time updates - Collaboration requires live updates
  3. Complex queries - Graph traversal for relationships
  4. Full-text search - Search across all content
  5. File storage - Images for characters, factions, symbols
  6. Permissions - Row-level security based on project membership
  7. Scalability - Support 1000+ characters/factions per project

Technology Options to Discuss:

  • PostgreSQL - Excellent for relational + JSONB for flexibility
  • MongoDB - Good for document storage, flexible schema
  • Firebase - Real-time built-in, good auth, but limited queries
  • Supabase - PostgreSQL + real-time + auth + storage
  • Graph Database (Neo4j) - Excellent for relationships, but may be overkill

Recommendation: PostgreSQL (or Supabase) for balance of features


Development Roadmap

Phase 1: MVP - Core Timeline & Projects (Est. 120 hours)

Goal: Basic multi-project platform with timeline features

Features:

  • ✅ User authentication (email/password) Possibly SSO
  • ✅ Create/edit/delete projects
  • ✅ Project visibility settings (public/private/unlisted)
  • ✅ Invite users to projects
  • ✅ Role-based permissions (Owner, Co-Creator, Viewer)
  • ✅ Timeline update CRUD (create, read, update, delete)
  • ✅ Sections and items within updates
  • ✅ Development status (Published, In Development, Concept, Legacy)
  • ✅ Drag-and-drop reordering
  • ✅ Public timeline view
  • ✅ Basic search
  • ✅ Mobile responsive

Deliverable: Can create projects, manage timelines, invite collaborators


Phase 2: Relationship Mapping (Est. 100 hours)

Goal: Visual relationship graphs for characters and factions

Features:

  • ✅ Create characters in projects
  • ✅ Define character relationships
  • ✅ Relationship types and properties
  • ✅ Public/private relationship visibility
  • ✅ Interactive character relationship graph
    • Zoom, pan, explore
    • Filter by relationship type
    • Click nodes for details
  • ✅ Create factions
  • ✅ Define faction relationships
  • ✅ Faction relationship graph
  • ✅ Link characters to factions (membership)

Deliverable: Full relationship mapping with visualization


Phase 3: Advanced Collaboration (Est. 80 hours)

Goal: Rich collaboration features for teams

Features:

  • ✅ Storyteller role (between Owner and Player)
  • ✅ Player role (create own character, limited permissions)
  • ✅ Comments on timeline updates
  • ✅ Comments on characters/factions
  • ✅ @ mentions and notifications
  • ✅ Activity feed (who changed what)
  • ✅ Version history for content
  • ✅ Compare versions (diff view)
  • ✅ Restore previous versions

Deliverable: Full collaboration platform for teams


Phase 4: Enhanced Features (Est. 60 hours)

Goal: Polish and quality-of-life improvements

Features:

  • ✅ Changelog system (track content evolution)
  • ✅ Advanced search (filters, tags)
  • ✅ Export data (JSON, PDF)
  • ✅ Bulk operations (status changes, etc.)
  • ✅ Character/faction templates
  • ✅ Dark mode
  • ✅ Keyboard shortcuts
  • ✅ Onboarding tutorials
  • ✅ Help center

Deliverable: Polished, production-ready platform


Phase 5: Future Possibilities (Beyond Scope)

Ideas for Later:

  • World Anvil integration (import/sync content)
  • Notion integration
  • Advanced graph algorithms (shortest path, clustering)
  • Monetization (premium features, hosting)
  • API for third-party integrations
  • Webhooks for automation

Success Metrics

User Adoption

  • Active projects created
  • Daily/weekly active users
  • Average project size (characters, updates, relationships)
  • Collaboration engagement (multi-user projects)

User Satisfaction

  • Can create project in < 10 minutes
  • Can add content update in < 5 minutes
  • Relationship map loads in < 2 seconds
  • 90%+ feature discoverability without docs
  • Positive feedback from beta users

Technical Performance

  • Page load < 2 seconds
  • Search response < 300ms
  • Relationship graphs smooth at 100+ nodes
  • Support 1000+ items per project
  • 99% uptime

Why This Matters

For Game Masters

  • Organization: Complex campaign tracking made easy
  • Transparency: Players see revealed vs. planned content
  • Visualization: Political intrigue and relationships at a glance
  • Collaboration: Co-GMs coordinate seamlessly

For Writers

  • Communication: Show readers the story roadmap
  • Engagement: Build anticipation for upcoming content
  • Consistency: Track complex plots and relationships
  • Teams: Coordinate shared universe writing

For Players

  • Agency: Create and control their character's relationships
  • Understanding: See how they fit into the larger world
  • Secrets: Keep hidden agendas from other players
  • Investment: Deeper engagement through collaborative storytelling

For the Community

  • Innovation: First tool combining timeline + relationships + collaboration
  • Open Source Potential: Could benefit entire TTRPG/writing community
  • Platform Effect: Network effects as more groups adopt

Questions for Backend Developer

1. Database Choice

  • PostgreSQL (relational + JSONB flexibility)?
  • MongoDB (document-oriented, flexible schema)?
  • Supabase (PostgreSQL + real-time + auth)?
  • Graph database for relationships (Neo4j)?

Considerations:

  • Complex queries (relationship traversal)
  • Multi-tenancy (project isolation)
  • Real-time updates
  • Full-text search
  • File storage

2. Real-Time Strategy

  • WebSockets for live collaboration?
  • Server-Sent Events?
  • Polling with optimistic updates?
  • Firebase real-time database?

Considerations:

  • Activity feeds need real-time
  • Collaborative editing benefits from real-time
  • Scale/cost implications

3. File Storage

  • Separate service (S3, GCS, Cloudflare R2)?
  • Database BLOB storage?
  • CDN requirements?

Considerations:

  • Character images, faction symbols
  • Potential for large files
  • Image optimization needed

4. Search Implementation

  • Database full-text search (PostgreSQL, MongoDB)?
  • Dedicated search engine (Elasticsearch, Meilisearch)?
  • Third-party (Algolia)?

Considerations:

  • Search across all content types
  • Performance with large datasets
  • Cost implications

5. Authentication

  • Custom auth (JWT)?
  • Firebase Auth?
  • Supabase Auth?
  • Auth0 or similar?

Considerations:

  • Email/password required
  • Social login (optional future)
  • Session management
  • Password reset flows

Last Updated: January 2026 Status: Planning Phase - Tech Stack Selection Next Steps: Backend architecture decisions, begin Phase 1 development