RPG Dice Roller
A full-featured dice rolling application for tabletop RPG sessions, built with Next.js and styled to match the stepweaver terminal aesthetic. Features terminal integration - roll dice directly from the command line!

Web DevelopmentGamingInteractiveTerminal
🚀 Features
- Multiple Dice Types: Support for d4, d6, d8, d10, d12, d20, and d100
- Flexible Pool Building: Add any combination of dice with custom quantities
- Modifiers: Add positive or negative modifiers to your rolls
- Roll Breakdown: See individual die results and subtotals by dice type
- Roll History: Last 10 rolls saved with timestamps (persisted in localStorage)
- Copy to Clipboard: Copy dice notation for sharing or documentation
- Keyboard Shortcuts: ENTER to roll, C to copy, R to reset, ESC to clear
- Randomized Colors: Each die type gets a random color from the terminal palette
- Smooth Animations: Dice roll animation with shake/tumble effect
- Responsive Design: Works on desktop, tablet, and mobile
- Terminal Integration: Roll dice directly from the terminal with `roll` command
- Roll Comments: Tag your rolls with notes like "Attack roll" or "Initiative"
- Dice Tray: Hold specific dice and re-roll others (Yahtzee-style) - click dice to hold them, then re-roll the rest
🛠️ Tech Stack
Frontend
- • Next.js - React framework
- • React - Component-based UI
- • Tailwind CSS - Styling
💻 Terminal Integration
The dice roller is fully integrated into the site's terminal emulator! You can roll dice directly from the command line.
Usage
- • Type `roll 3d6+2` to roll three 6-sided dice and add 2
- • Type `roll 1d20` for a single d20 roll
- • Type `roll 2d10 + 1d6 + 5` for complex rolls
- • Type `roll advantage` for advantage rolls (2d20 keep highest)
- • Type `roll disadvantage` for disadvantage rolls (2d20 keep lowest)
λ roll 3d6+2 Rolling 3d6+2: 3d6: [4, 2, 6] = 12 Modifier: +2 Total: 14
⌨️ Keyboard Shortcuts
- ENTER - Roll the dice
- C - Copy the current roll notation
- R - Reset the entire dice pool
- ESC - Clear current results
🎲 Dice Notation
The dice roller uses standard RPG dice notation:
- 3d6 - Roll three 6-sided dice
- 1d20+5 - Roll one 20-sided die and add 5
- 2d8+1d6-2 - Roll two 8-sided dice, one 6-sided die, and subtract 2
🚀 Planned Features
- Advantage/Disadvantage: Enhanced support for D&D advantage/disadvantage mechanics (keep highest/lowest)
- Dialog Component: Embeddable dice roller for blog posts or project pages
Interested in a similar project?
Let's discuss how we can build something similar for your business.