The Analytics Dashboard gives you a live, at-a-glance overview of your project’s scope and completeness. Rather than hunting through the World Bible to judge how developed a particular area of your world is, the dashboard surfaces the key numbers — entity counts, writing volume, notebook activity, and the distribution of your worldbuilding work — all computed in real-time from your local SQLite database.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Fixius50/WorlBuilding-Writting-App/llms.txt
Use this file to discover all available pages before exploring further.
What’s Measured
The dashboard is driven by theuseAnalyticsDashboard hook, which subscribes to the useDashboardStore and exposes a stats object along with a pre-built cards array for the top metric row.
The four primary StatCard metrics displayed across the top of the dashboard are:
| Metric | Label | Icon | Color |
|---|---|---|---|
| Total Words | Palabras Totales | description | Primary |
| Entities Created | Entidades Creadas | account_tree | Purple |
| Notebook Pages | Hojas de Archivador | auto_stories | Amber |
| Active Notebooks | Archivadores Activos | folder_open | Emerald |
StatCard component with a label, value, icon (Google Material Symbols), and a color CSS class. While data is loading, cards display a loading spinner via the isLoading flag.
Charts and Progress Panels
Below the stat cards, the dashboard renders two visualization panels side-by-side.Entity Distribution Pie Chart
The left panel uses Nivo’sResponsivePie component to render the distribution of entities across type categories (stats.entitiesByType). Each slice represents one entity type, and the chart uses the Nivo "nivo" color scheme with:
innerRadius: 0.6— donut-style with a hollow centerpadAngle: 2— visual separation between slicescornerRadius: 8— rounded slice ends
hsl(var(--background)) and hsl(var(--foreground)) at render time. If no entities exist yet, an empty-state message is shown in place of the chart.
Chronological Consistency Panel
The right panel tracks two progress milestones derived fromstats, rendered as animated progress bars via Framer Motion:
| Bar | Formula | Color |
|---|---|---|
| Codex Progress | min(100, round((entityCount / 50) * 100)) | Primary |
| Chronicles Volume | min(100, round((wordCount / 10000) * 100)) | Amber |
width: 0 to its computed percentage on mount (initial={{ width: 0 }} → animate={{ width: \$%`}}`), giving the dashboard a sense of living data as it loads. The targets (50 entities, 10,000 words) serve as baseline milestones for a healthy worldbuilding project.
The progress object is computed inside useAnalyticsDashboard:
The Architect Summary
At the bottom of the dashboard, a Resumen del Arquitecto panel provides a natural-language summary of the project:“You have documented a total of entities and woven words into your chronicles. The greatest density of knowledge is concentrated in the category.”The
topEntityType is derived from stats.entitiesByType[0]?.label, i.e., the most-populated entity type in the project.
Using Analytics
The dashboard is most useful as a coverage audit tool. A world that is well-developed in one area (many entities of one type, high word count) but sparse in another (few Territory or Organization entities, no timeline events) is visible at a glance through the entity distribution pie chart. ThereloadStats function is exposed from useAnalyticsDashboard and is called automatically whenever the projectId changes, ensuring the dashboard always reflects the current project’s data without a manual refresh.