Sheets#
A browser-based D&D 2024 character builder written in Gleam and Lustre. It loads rules data from a URL supplied by the user and keeps a local, versioned character library in the browser.
Features#
- D&D 2024 classes, subclasses, species, backgrounds, feats, spells, and equipment
- Level-by-level class features and choices
- Final ability scores and modifiers, including background and feat bonuses, plus skills, armor class, hit points, initiative, passive Perception, spell preparation, and spell save calculations
- Gold, inventory quantities, equipped items, and tool proficiencies
- Play-state tracking for spell slots, limited-use class resources, short and long rests, Hit Dice, death saves, Inspiration, Concentration, Exhaustion, and conditions
- Consumable quantities, tracked item charges, attunement, and configurable custom resources
- Printable character sheet
- Versioned JSON character import and export
- End-to-end encrypted Iroh table sessions: players share their sheets and can inspect the other connected characters; the Game Master gets a complete read-only sheet for each player including current hit points, spell slots, Hit Dice, class resources, conditions, and other play-state counters
Rules data is supplied at runtime and is not configured in the application build.
Development#
Requirements: Gleam 1.17 or newer and Bun.
Start the Lustre development server:
gleam run -m lustre/dev start
Open http://localhost:1234, select Data in the header, and enter the base
URL for a compatible rules data directory. The directory must contain
races.json, backgrounds.json, feats.json, items-base.json, class/,
generated/, and spells/. The URL is normalized with a trailing slash and
stored only in the current browser.
Create a production build with:
gleam run -m lustre/dev build
Verification#
gleam format --check src test
gleam check
gleam test