Make one dashboard. For everyone. ✨
Choose SEO, finances, health, or pets; edit local JSON; get a polished standalone dashboard. No account, backend, telemetry, API key, package install, or network connection is required.
| SEO | Finances | Health | Pets |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| Aurora SEO | Emerald Finance | Vitality Health | Dusk Companion |
The example HTML files under profiles/ open directly from file:// and use fictional data. They
have no required CDN, remote font, or remote chart runtime.
Download or clone the repository, then choose a workflow.
On Windows, double-click Dashboard.cmd. On macOS or Linux, use:
npm run dashboardThe temporary wizard runs only on 127.0.0.1, edits the output folder you choose, and shuts down
when you press Stop or it becomes idle. Its forms and raw-JSON editor use the same validation and
update core as the command line.
git clone https://github.com/jenninexus/dashboard.git
cd dashboard
npm run build-dashboard -- --profile seo --name "Your Name"Then edit my-dashboard/data.json, rebuild only the embedded data region, and open the result:
npm run dashboard:update -- --out my-dashboardThe updater validates the profile contract, preserves custom HTML/CSS outside the generated data
block, and keeps one rotating dashboard.html.bak. It never treats --force as an update path and
never rewrites data.json.
| Profile | Tracks | Default theme |
|---|---|---|
| SEO | GA4 · Search Console · PageSpeed · Cloudflare | aurora-seo |
| Finances | cash · bills · deadlines · payment history · action plan · loans · income | emerald-finance |
| Health | vitals · meds · labs · habits · sleep | vitality-health |
| Pets | weight · quality of life · fluids · red flags | dusk-companion |
Each profile owns four public files: its renderer, fictional example, routing manifest, and compact versioned editor contract. See profiles/README.md for the exact format.
The finances profile is a customizable snapshot, not a payment ledger. It adds bill-tracker helpers on top of the snapshot:
- Autopay escalation — autopay badges go calm → amber at ≤7 days → pulsing rose at ≤3 days (static under reduced motion); a passed autopay date stays unconfirmed until you log it.
- Auto priority alerts — generated from overdue/near bills and deadlines, listed after your hand-written alerts.
- Urgency-sorted deadlines — most overdue first, then soonest.
- Append-only payment history —
npm run fin:historyappends an entry and refreshes the page. - ACTION-PLAN.md checklist —
npm run fin:action-plansyncs a Markdown plan into a checklist with archive/restore.
See docs/finances-profile.md for the scope, thresholds and data fields. For printable pet-care sheets, use jenninexus/senior-pet-care.
.claude/commands.example/ ships three example commands for AI coding assistants that read
.claude/commands/: dash-fin-start.md.example, dash-bills.md.example and dash-ap-done.md.example
(they become /dash-fin-start, /dash-bills and /dash-ap-done once copied). Because of the .example
suffix, no assistant loads them until you copy them in. They are templates, not live commands,
and they operate only on this template's example finance data (profiles/finances/example-data.json, or
your own copy built into my-dashboard/) — they are unrelated to any private finance workspace. The
dash- prefix keeps them from colliding with commands you may already have.
To use them in your own clone, copy them and drop the .example suffix (the destination is gitignored, so your edits stay local):
mkdir -p .claude/commands && for f in .claude/commands.example/*.md.example; do cp "$f" ".claude/commands/$(basename "$f" .example)"; done
# Windows PowerShell: New-Item -ItemType Directory -Force .claude/commands; Get-ChildItem .claude/commands.example/*.md.example | ForEach-Object { Copy-Item $_ (Join-Path .claude/commands $_.BaseName) }themes/manifest.json is the public theme catalog. It lists default/compatible profiles and the CSS
files shipped by each theme. Profile defaults remain intentionally distinct; alternates include
Plasma Green, Aurora Borealis, and Midnight Blue.
The committed CSS is the complete public runtime contract. A generated dashboard never imports a private kit or machine-local path.
data.json, generated HTML, exports, anddashboard.html.bakare unencrypted plaintext files.- Generated dashboards, local plans, secrets, agent state, and QA captures are gitignored.
- Profile examples are fictional. Do not use real financial, health, analytics, or pet records as fixtures, screenshots, issues, or documentation.
- Browser-local theme, collapse, and checklist state is disposable and is not included in JSON backups.
The exact public/local boundary is documented in docs/PUBLIC-LOCAL-SPLIT.md.
| Path | Purpose |
|---|---|
profiles/ |
Four domain renderers, examples, manifests, and editor contracts |
themes/ |
Public theme CSS and compatibility manifest |
scripts/ |
Shared core, CLI, local wizard, boundary check, and optional capture wrapper |
docs/images/ |
Runtime art referenced by profiles and copied into generated output |
docs/screenshots/hero/ |
Curated four-image README gallery only |
configs/ |
Portable optional screenshot-capture configuration |
Full breakpoint captures are local QA evidence, not public documentation assets.
npm test
npm run profiles
npm run check:public-boundaryKeep changes static, offline-capable, fictional, and profile-specific. A new profile must include all four profile files, safe text rendering, contract tests, and documentation for any new behavior.
More detail: getting started · profile system · architecture · finances profile
MIT — use, fork, customize.
Star this repo · jenninexus.com/links
Made with 💚 by Jenni at Monofinity Studio



