Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
Multi-site IoT orchestration with live logging rules and workflow logic engines leveraging a local AI assisted ontology definition and user-centered orchestrations to see, think, and act on observatio
LifestyleJava · JavaScriptGitHub @ImpressiveLLCOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Multi-site IoT orchestration with live logging rules and workflow logic engines leveraging a local AI assisted ontology definition and user-centered orchestrations to see, think, and act on observations and intuitive questions
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
ImpressiveLLC / FaceoftheCabin · unicornpingpong.com (live — hub/cabin/api all public)
A self-hosted platform unifying home/property automation and family
coordination under a shared event bus, identity layer, and living
ontology — built for one family's real deployment (a Lenovo M920q at a
cabin, exposed via Cloudflare Tunnel, administered privately via
Tailscale) and designed from the start to be replicated independently
for another family, another property, or another team's use case. See
docs/REPLICATION.md for what that actually
takes.Read the full README ↗ImpressiveLLC / FaceoftheCabin · unicornpingpong.com (live — hub/cabin/api all public)
A self-hosted platform unifying home/property automation and family
coordination under a shared event bus, identity layer, and living
ontology — built for one family's real deployment (a Lenovo M920q at a
cabin, exposed via Cloudflare Tunnel, administered privately via
Tailscale) and designed from the start to be replicated independently
for another family, another property, or another team's use case. See
docs/REPLICATION.md for what that actually
takes.
📖 Platform governance — decisions (D1–D21), backlog, Definition of Done, sign-offs and iteration plans live in
docs/governance/. Git is the canonical record. The Living Ontology is a read-only rendered view of it.
unicornpingpong.com)ROADMAP.md's Tech ID Service section; not yet built — see that doc for honest status.docs/REPLICATION.md)| Product | Subdomain | Description |
|---|---|---|
| Family Hub | hub.unicornpingpong.com | Ambient display: clock, parenting schedule, calendar, photos, chores, rewards, family notepad |
| FaceOfTheCabin | cabin.unicornpingpong.com | Cabin automation: cameras, sensors, alerting, presence detection |
| Platform API | api.unicornpingpong.com | Shared services: identity, ontology, event bus, audit trail |
Family Hub's Overview page shows a live camera-activity widget from FaceOfTheCabin — by default it shows which camera, what was detected, and when, refreshed every 20 seconds, visible to anyone looking at the screen, no sign-in required. This is genuinely useful (at a glance, is anyone at the cabin right now) but it is also, unavoidably, a presence/ absence indicator — the same information that tells you "someone's home" also tells anyone else looking that "no one's home right now."
This is configurable, not fixed. Settings → Cabin Camera Activity has three levels:
If this display sits somewhere more people can casually glance at than just your own family (a shared space, a device you don't fully control who sees), turn it down. The same warning is shown directly next to the widget itself, with a link straight to this setting.
Video viewing (built 2026-08-02, see ROADMAP.md Phase 6) is a
separate, more sensitive surface from the widget above. cabin-ui's
Camera Events panel — authenticated, Google sign-in required, not
part of this public Family Hub widget — now shows real snapshots and
event clips, plus a live per-camera view. This is a meaningfully bigger
exposure than the metadata-only widget above: an image or video frame is
categorically more sensitive than "motion detected at 3:14pm." Concretely:
None of this is reachable from the public, no-sign-in Family Hub widget
described earlier in this note — it lives entirely behind cabin-ui's own
Google sign-in (cabin.unicornpingpong.com), gated server-side on every
request, not just hidden client-side. If you ever add another signed-in
user to cabin-ui, they get this same video access — there's no separate,
finer-grained permission tier for video vs. the rest of cabin-ui today.
| Repo | Org | Contents |
|---|---|---|
| FaceoftheCabin | ImpressiveLLC | cabin-ui (React), cabin-backend (Spring Boot), family-hub (static HTML), infra (Docker Compose) |
| CabinAutomations | ImpressiveLLC | Zigbee pairing, HA config, Node-RED flows |
GitHub accounts: nhsmrekar (primary dev) · smrekarfamilia-sudo (family org) · ImpressiveLLC (shared/platform) |
| Item | Value |
|---|---|
| Primary server | Lenovo M920q · Ubuntu · Docker Compose at /home/nate/FaceoftheCabin/cabin-orchestration-platform/infra/ (/storage/containers/compose/cabin/ is a stale path from an earlier setup — confirmed unused, only a leftover .env and old CabinAutomations copy remain there) |
| Tailscale IP | 100.77.44.113 |
| Public access | Cloudflare Tunnel → unicornpingpong.com — live, all three subdomains |
| Private mesh | Tailscale — cabin ↔ home, admin/SSH |
| Domains | unicornpingpong.com — platform (hub/cabin/api subdomains) · impressive.llc — org domain |
| Domain registrar | Porkbun |
| DNS | Cloudflare free tier |
| Monitoring | Uptime Kuma + Homepage on M920q |
| Google OAuth owner | [email protected] |
| Calendar / Photos | [email protected] |
| Zigbee coordinator (Cabin) | /dev/ttyACM0 · adapter: ember · 14 devices paired |
| Home collector (POC) | SMLIGHT SLZB-MR5U + Termux on Android · PASS end-to-end 2026-09-11 (coordinator + real Zigbee network + MQTT reaching the M920q via Tailscale, independently verified both ends) — see docs/RUNLOG_2026-09-10_home-collector-mr5u-termux.md and docs/MAINTENANCE.md's "Home Location" section |
| Parenting schedule | Versioned rules — current: 50/50 split since July 27 2026 (see ROADMAP.md's Environment & Credentials Reference for the full detail; docs/ontology.yaml's parenting_schedule_rule_version is the source of truth) |
| Secrets | Ansible Vault (ansible/group_vars/*/vault.yml) — see ansible/README.md's Secrets section, not hand-edited .env |
| Document | Location | Audience | Contents |
|---|---|---|---|
| User Guide | docs/USER_GUIDE.md | Family members, guests | Day-to-day usage: identity, profiles, notepad, chores, camera privacy |
| Maintenance & Ops | docs/MAINTENANCE.md | Operators, developers | Deployment, secrets, known issues, incident response |
| Replication Guide | docs/REPLICATION.md | New-instance implementers | Standing up an independent instance from scratch |
| Platform Roadmap | ROADMAP.md | Technical, product, strategic | Strategic brief, architecture, ontology design, priority task list |
| Product Vision | docs/PRODUCT_VISION.md | Family, stakeholders | Value proposition, competitive positioning, honest maturity — implementation-agnostic on purpose |
| Product Notes | docs/PRODUCT_NOTES.md | Product, design | Dated design decisions, persona research, architecture reviews |
| Ontology Contract | docs/ontology.yaml | Technical |
# SSH in via Tailscale
ssh [email protected]
# Deploy / rebuild a single service
cd ~/FaceoftheCabin && git pull
docker compose \
-f cabin-orchestration-platform/infra/docker-compose.yml \
-f cabin-orchestration-platform/infra/docker-compose.m920q.yml \
up -d --build <service-name>
Services: family-hub · cabin-ui · cabin-backend · cabin-grafana · postgres · kafka
| Canonical entity definitions, device registry, naming contract |
| Platform README | cabin-orchestration-platform/README.md | Technical | Backend/UI architecture, Docker Compose reference |
| QA / Testing | docs/QA.md | Technical | Per-feature test coverage, automated + manual checklists |
| Definition of Done | docs/DEFINITION_OF_DONE.md | Internal (session process) | Per-session exit checklist (§1–10). Iteration and product DoD levels: docs/governance/definition-of-done.md |
| Replicating This Template | docs/REPLICATION.md | Standing up a fully independent instance — own accounts, domain, host, repo |
| Platform Governance | docs/governance/ | All | Canonical record: D-decisions, discrepancy log, use cases, WSJF backlog, Definition of Done, sign-offs, iteration plans |
| Living Ontology | Living Artifact | All | Read-only rendered view of docs/governance/decisions/ — not edited directly |
| AI Assistant Backlog | docs/ai-assistant/wsjf-backlog.md | All | Separate WSJF track (C1–C4) for the Ollama/llama3.2:3b corpus/RAG/Tiny-Helpdesk work — scored independently of the Living Ontology's own backlog above; see docs/ai-assistant/corpus/coverage.md for the gap register |
| Session Run Logs | docs/RUNLOG_*.md, docs/POC_*.md, docs/HANDOFF_*.md | Technical | Dated, literal, replayable session logs for specific bring-ups/investigations (e.g. the Home/Termux collector POC) — not summarized elsewhere; check by filename pattern, not a single index page |