Umbrella: phone-first Pulse-style dashboard daemon #5

Closed
opened 2026-05-23 20:55:19 +00:00 by coilysiren · 0 comments
Owner

Originally filed by @coilysiren on 2026-05-14T02:41:05Z - https://github.com/coilysiren/personal-dashboard/issues/36

Scoping personal-dashboard after diffing danielmiessler/Personal_AI_Infrastructure against coilyco-ai. PAI ships a Pulse "Life Dashboard" daemon on localhost:31337. Most of PAI's bets do not fit (formal Algorithm, ISA, packaged installer, TypeScript-heavy), but the daemon + dashboard surface is worth stealing in a Curly-Co-shaped way.

This repo was a 2020 Gatsby init. Reborn as the personal dashboard.

Posture

  • Public repo, code-only. No private data committed.
  • Single daemon on kai-server, Tailscale-only, systemd-managed.
  • Mobile-first PWA. Phone is the design center. Desktop renders the same layout wider.
  • Plain-text substrate. Reads existing files and runtime APIs. No new DB.
  • Private info allowed in panels but redacted-by-default with per-page opt-in reveal.
  • Read-only at launch. Architected for a future write surface through the in-progress coily web-ops MCP.

Data sources

Three git sources:

  1. coilysiren/personal-dashboard (this repo) - code only.
  2. coilysiren/coilyco-ai - skills, .coily/coily.yaml, daily-* routine outputs. Unchanged.
  3. coilysiren/coilyco-vault (private) - Obsidian inbox markdown. Unchanged.

Runtime sources (polled at request time, not committed):

  • ~/.repo-recall/ on disk
  • Sentry API
  • Grafana / Tempo (o2r)
  • Phoenix (o2r)
  • Bluesky, Sirens Discord, Reddit
  • Steam
  • Hue, Sonos, Cast
  • ElevenLabs (TTS out)

Local dashboard state lives at ~/.personal-dashboard/state/ on kai-server. Never written back to vault or coilyco-ai.

Panels

  • Daily routine inbox feed
  • Social inbox (Bluesky + Discord + Reddit)
  • Home control (Hue / Sonos / Cast)
  • Steam games widget
  • LUCA / o2r tracing embed
  • Coily allowlist gap surfacer

Voice

ElevenLabs TTS for event and phase announcements. Output side only. Input stays on phone dictation.

Write surface

Read-only at launch. Every panel action goes through a single dispatcher abstraction whose only initial implementation is deep-link to coily CLI. When the coily web-ops MCP is ready, swap the dispatcher backend without touching panels. Coily owns every write, always.

Out of scope

  • Active Claude sessions ticker. Owned by repo-recall, separate ticket.
  • Algorithm / ISA / TELOS primitives from PAI. Not adopting.
  • Packaging for other users. Personal infra, not a product.

Sub-issues

Will be linked below as they are filed.

Origin

  • Diff conversation: PAI vs Curly Co. AI walkthrough, 2026-05-13.
  • Originally tracked as coilysiren/coilyco-ai#412, being closed in favor of this umbrella.
_Originally filed by @coilysiren on 2026-05-14T02:41:05Z - [https://github.com/coilysiren/personal-dashboard/issues/36](https://github.com/coilysiren/personal-dashboard/issues/36)_ Scoping personal-dashboard after diffing [danielmiessler/Personal_AI_Infrastructure](https://github.com/danielmiessler/Personal_AI_Infrastructure) against coilyco-ai. PAI ships a Pulse "Life Dashboard" daemon on localhost:31337. Most of PAI's bets do not fit (formal Algorithm, ISA, packaged installer, TypeScript-heavy), but the daemon + dashboard surface is worth stealing in a Curly-Co-shaped way. This repo was a 2020 Gatsby init. Reborn as the personal dashboard. ## Posture - Public repo, code-only. No private data committed. - Single daemon on kai-server, Tailscale-only, systemd-managed. - Mobile-first PWA. Phone is the design center. Desktop renders the same layout wider. - Plain-text substrate. Reads existing files and runtime APIs. No new DB. - Private info allowed in panels but redacted-by-default with per-page opt-in reveal. - Read-only at launch. Architected for a future write surface through the in-progress coily web-ops MCP. ## Data sources Three git sources: 1. coilysiren/personal-dashboard (this repo) - code only. 2. coilysiren/coilyco-ai - skills, .coily/coily.yaml, daily-* routine outputs. Unchanged. 3. coilysiren/coilyco-vault (private) - Obsidian inbox markdown. Unchanged. Runtime sources (polled at request time, not committed): - ~/.repo-recall/ on disk - Sentry API - Grafana / Tempo (o2r) - Phoenix (o2r) - Bluesky, Sirens Discord, Reddit - Steam - Hue, Sonos, Cast - ElevenLabs (TTS out) Local dashboard state lives at ~/.personal-dashboard/state/ on kai-server. Never written back to vault or coilyco-ai. ## Panels - Daily routine inbox feed - Social inbox (Bluesky + Discord + Reddit) - Home control (Hue / Sonos / Cast) - Steam games widget - LUCA / o2r tracing embed - Coily allowlist gap surfacer ## Voice ElevenLabs TTS for event and phase announcements. Output side only. Input stays on phone dictation. ## Write surface Read-only at launch. Every panel action goes through a single dispatcher abstraction whose only initial implementation is deep-link to coily CLI. When the coily web-ops MCP is ready, swap the dispatcher backend without touching panels. Coily owns every write, always. ## Out of scope - Active Claude sessions ticker. Owned by repo-recall, separate ticket. - Algorithm / ISA / TELOS primitives from PAI. Not adopting. - Packaging for other users. Personal infra, not a product. ## Sub-issues Will be linked below as they are filed. ## Origin - Diff conversation: PAI vs Curly Co. AI walkthrough, 2026-05-13. - Originally tracked as [coilysiren/coilyco-ai#412](https://github.com/coilysiren/coilyco-ai/issues/412), being closed in favor of this umbrella.
coilysiren 2026-05-30 05:44:19 +00:00
  • closed this issue
  • added the
    icebox
    label
Commenting is not possible because the repository is archived.
No labels
icebox
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilysiren/personal-dashboard#5
No description provided.