【要約】リビングの壁に家族ダッシュボードを掛けた話 — カーテンレール吊り2.4万円+Mac mini+FastAPI [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
筆者が、家族の予定共有における情報の断絶を解決するために直面した課題は以下の通りである。
- ・予定が親のスマートフォン内に閉じており、子供が確認できない。
- ・市販のスマートディスプレイでは、表示内容の細かなカスタマイズが困難である。
- ・カレンダーの非公開URL(ICS)を外部サービスに渡すことによるセキュリティリスクがある。
// Approach
筆者は、既存のMac miniを活用し、プライバシーとカスタマイズ性を両立するローカル完結型の構成を採用した。
- ・ハードウェア:ピクチャーレールにモニターを吊るし、壁を傷つけず約2.4万円で構築。
- ・バックエンド:FastAPIを用い、ICSやOpen-Meteoから情報を取得・集約。
- ・フロントエンド:Vanilla JSによる単一ページ構成とし、依存関係を最小化。
- ・ネットワーク:Tailscaleにより、外部公開せず家庭内限定でアクセスを制御。
// Result
このシステム導入により、家族が「歩きながら3秒で」予定を把握できる環境を実現した。
- ・視認性の向上:予定を「リスト」と「カレンダー」に分離し、遠目からの判読を可能にした。
- ・認知負荷の軽減:時間帯ごとに表示情報の主役を切り替える設計を実現。
- ・運用の安定:音声入力と表示の役割を分離し、入力精度の向上を図った。
Senior Engineer Insight
> 本プロジェクトの真価は、技術選定における「引き算」の思想にある。SPAフレームワークを避け、Vanilla JSとFastAPIという軽量な構成に絞ったことで、メンテナンス性と堅牢性を確保している。また、情報の「信頼性」を重視し、ズレが生じる予定(出発時間)をあえて表示しない判断は、実運用における極めて高度な設計思想である。エッジデバイスにおける「情報の鮮度」と「ユーザーの認知負荷」のバランスを、極めて高いレベルで両立させている。