Roadmap

Phase 1 — MVP

Core dice roller with PWA offline support. See Phase 1 Features for details.

Dice Engine

User Interface

  • Calculator UI — button input for quick tapping
  • Text Input — type notation directly for power users
  • Both input methods produce/parse the same Notation Spec
  • Large result popup showing total and individual die values
  • Favorites — save rolls with custom names, single-tap to re-roll
  • Roll History — automatic log, tap to re-roll
  • Clean, minimal Material-style UI

Platform

  • Ruby on Rails, mobile-first responsive
  • PWA with service worker for full offline support
  • Standard Turbo Drive navigation (Hotwire Native-ready)

Phase 1 Stretch

Flows

  • Chained rolls via -> operator (attack → damage)
  • Conditional expressions using (trigger?expr) syntax
  • Natural and Total Triggers (n, t)
  • Named Parameters via <n> and s<n> syntax
  • Long-press/right-click on favorites shows toggles
  • Multi-box modal — each flow segment gets its own box
  • Universal conditional results — crits, bonus dice, modifiers, any combination

Human-Readable Explanations

  • Live plain-English explanation as the user builds the expression
  • Updates in real-time below the notation display

MCP Server (Basic)

  • roll tool — takes notation string, returns result with individual dice
  • parse tool — takes notation, returns human-readable explanation
  • Motivates clean engine separation from day one

Phase 2 — Advanced Dice & Templates

Advanced Dice Mechanics

Discord Bot

  • Slash command interface (/roll notation or favorite name)
  • Named Parameters as Discord buttons for conditional damage/modifiers
  • Stateless, self-hostable, connects to MCP Server

Template Library

  • Pre-built templates that generate parameterized notation
  • Wizard-style builder: enter stats, get flow notation
  • D&D 5e Weapon Attack, Ability Scores, CoC Skill Check, Custom Skill System check
  • Community-contributed templates (stretch)

MCP Server (Full)

  • roll_flow — execute flows with named parameter selections
  • roll_favorite / list_favorites — manage and roll favorites
  • roll_template / list_templates — template access via MCP
  • Enables AI-assisted TTRPG play, VTT integration, Discord Bot

Natural Language Input

  • Type “roll 4d6 drop the lowest” → 4d6kh3
  • On-device LLM strategy (browser WebLLM/WebGPU, iOS/Android native)
  • Combined with Human-Readable Explanations creates a learning loop

Phase 3 — Native & Characters

Characters

  • Define system (D&D 5e, CoC, Custom), ancestry/race, class features, stats
  • Auto-generate all weapon/spell/action rolls with correct notation, modifiers, rerolls, crit rules, Named Parameters
  • Character sync to Cloud (likely paired with accounts)
  • Discord Bot resolves character shortcuts (/roll Bramblewood longsword)

Native Shells

  • Hotwire Native for iOS (Swift/Xcode) and Android (Kotlin/Android Studio)
  • Custom Sound Effects on specified roll results (crit/fumble)
  • Text-to-speech for roll results
  • Android Auto support (stretch)
  • Push notifications / shared rolls (stretch)
  • Haptic feedback on native platforms

Explicitly Out of Scope

  • 3D dice animations
  • Skeuomorphic UI
  • Probability calculator (AnyDice handles that)
  • User accounts or social features (Phase 1; revisited in Phase 3 for sync)
  • Desktop native wrapper (PWA covers desktop)