A fast, compact SRD spell browser with delayed "full card" tooltips and a practical daily tracker for prepared spells and remaining slots.
- Spell Browser: Browse spells by level, class, or school with search and filters
- Delayed Tooltips: Hover or focus on a spell for 1 second to see full SRD stat block
- Slot Tracker: Track spell slots (regular + domain) for levels 0-9
- Prepared Spells: Manage prepared spells with cast/use tracking
- Character Profiles: Save caster type, class, and domains to localStorage
- Import/Export: Backup and restore your profile data as JSON
- Hover on a spell row for 1 second → Shows tooltip with full spell details
- Click on a spell row → Opens "Add to Tracker" dialog
- Tap on a spell row → Opens "Add to Tracker" dialog directly
- Long-press (500ms) on a spell row → Shows tooltip with full spell details
- Tap outside the tooltip → Closes the tooltip
- Node.js 18+
- npm or pnpm
npm install
npm run dev
Open http://localhost:5173 in your browser.
npm run build
npm run preview
Spell data is loaded from /static/spells.json. The data follows the schema defined in schemas/spells.schema.json.
SRD spell text is Open Game Content under the OGL. See the OGL section in the app's Settings page for full license text.
- SvelteKit - Web framework
- Svelte 5 - Component framework with runes
- Tailwind CSS v4 - Utility-first CSS
- @floating-ui/dom - Tooltip positioning