Minerva Dashboard
Private-first household and personal-assistant dashboard for Manndra, with a Ravenclaw common-room feel and phone-first layout.
Purpose
Minerva Dashboard is meant to be a calm, useful front page for Manndra's household flow. V1 keeps the data model simple and JSON-backed so the first live slice can be exercised quickly before deeper integrations arrive.
The first pass focuses on:
- agenda and reminders
- household lists
- quick notes
- useful links
- meal ideas and shortcuts
- Minerva quick actions for fast capture from a phone
Runtime shape
- Repo source:
home/minerva-dashboard - Expected live PD runtime:
/mnt/docker-ssd/docker/compose/minerva-dashboard - Expected first exposure: private-first on PD unless later changed
- Published app port:
8094
Do not run production from an agent workspace.
V1 defaults
Unless John or Manndra changes direction later, V1 assumes:
- Manndra is the primary active user
- mobile-friendly first, desktop-usable second
- elegant Ravenclaw/common-room styling instead of playful novelty clutter
- JSON-backed state first for speed and easy inspection
- practical household wording over infra/operator language
- no live deploy in this scaffold task
Current scaffold
The scaffold already provides:
- seeded Manndra profile and dashboard copy
- seeded agenda, reminders, lists, notes, links, meal ideas, shortcuts, and quick actions
- server-rendered homepage for phone use
- real themed graphics in visible UI locations (library hero, owl medallion, blue-interior art, Art Nouveau ornament)
- provenance notes for vendored imagery in
docs/ASSET_SOURCES.md - API endpoints for health, summary, and quick note capture
- form-based quick note capture from the dashboard
- Docker, compose, env example, local run helper, and pytest coverage for initial flows
Current API surface
GET /api/healthGET /api/dashboard/summaryPOST /api/notes/quick-addPOST /quick-actions/notes
Local run
cd /home/fizzlepoof/repos/truenas-stacks/home/minerva-dashboard
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8094
Or:
cd /home/fizzlepoof/repos/truenas-stacks/home/minerva-dashboard
bin/run-local.sh
Verification targets
curl -fsS http://127.0.0.1:8094/api/health
curl -fsS http://127.0.0.1:8094/api/dashboard/summary
curl -fsS http://127.0.0.1:8094/ | grep 'Minerva Dashboard'
Assumptions captured in scaffold
- Manndra is the first and primary user for this app
- agenda/reminders are seeded locally until a calendar or Donetick-style integration is chosen
- the quick-add mutation writes notes first because quick capture from a phone is a strong default for this product shape