LINE Botと壁掛けiPadで結ぶ家族写真配信基盤

LINE Botと壁掛けiPadで結ぶ家族写真配信基盤

2026年4月21日

成果

  • 納期日数約14日(Phase 1〜Phase 4 Sprint 2まで集中開発)
  • 対応プラットフォーム数iOS / Android / LINE Bot / 管理ポータル(Web)の4サーフェス
  • 納品機能数3 Cloud Functions(lineWebhook / issuePairing / generateFamilyPhotobook)+ 82 unit test 全緑

LINE Botと壁掛けiPadで結ぶ家族写真配信基盤

技術要件と目的

自社B2B SaaSとして「介護施設の入居者様の個室に、LINEで届く家族写真を壁掛けディスプレイで表示する」仕組みをゼロから構築しました。ターゲットは関東の介護付き有料老人ホーム50〜80床、3ヶ月無料パイロットで市場検証する戦略のもと、投稿側(家族)・表示側(入居者様)・運用側(施設スタッフ)という3つの体験を同時に設計する必要がありました。

技術スタックの選定

モバイルは React Native 0.81 + Expo SDK 54 + Tamagui 2.0 (RC) で iOS/Android を同時に、管理ポータルは Next.js 15 (App Router) + Tailwind CSS で構築。バックエンドは当初 Cloudflare Workers も検討しましたが、Firestore Admin SDK を直接叩ける Firebase Functions v2 (Node 20, asia-northeast1) を採用しました。JWT/REST の組立を省略でき、Local Emulator Suite との統合で開発速度が段違いに伸びること、月数千件のトラフィック規模ではコールドスタートよりも開発速度を優先すべきと判断した結果です。

設計ピボットの経緯

初期は「家族がiOSアプリから写真投稿、入居者がiOS Widgetで受信する」B2C設計でした。しかし市場調査で「投稿側(子世代)が新規アプリを入れてくれない」「Android家族も一定数いる」「B2C単体ではLTVが出にくい」と判明。①家族側を LINE 公式アカウントに切り替えてアプリ不要化、②介護施設向け B2B チャネルで月次課金を取る、という二軸でリデザインしました。投稿障壁と収益性を一度に解く、構造的な設計変更です。

最終アーキテクチャ

家族は LINE Bot に写真を送るだけ。Firebase Functions が署名検証 → Firebase Storage へ保管 → Firestore に post ドキュメント生成 → onSnapshot で入居者様の壁掛け iPad キオスクに即時反映します。家族グループと入居者様の紐付けは short-lived トークン(24h 有効期限 + idempotent consume)方式を採用し、LINE Bot の会話状態機械(FSM)は純関数として linkState.ts に分離、Firestore/LINE API 依存をポート境界で隔離することで emulator 不要の unit test フルカバーを実現しました。Firestore セキュリティルールは organizations/{orgId} 配下で staff ロール(admin/nurse/care)の read/write を厳密制御し、既存のB2C用ルールと非干渉のまま多重テナント分離を達成。iPad キオスクだけは Guided Access / MDM との親和性と電池・輝度制御を優先して SwiftUI ネイティブで別リポに切り出しています。

開発成果

集中開発期間は約2週間。Firebase Functions 54テスト、RN アプリ 28テスト、Playwright E2E 3件、Gremlins による monkey test 3画面をすべて緑化しました。管理ポータルの residents ルートは First Load JS 227kB に収まり、LP 公開(https://www.yoritech.com/family-screen)と営業用A4 3ページPDFの自動生成スクリプトまで整備済みです。B2C の構造的難しさを認識した上で LINE Bot による投稿側アプリ不要化と B2B チャネルへ大きく舵を切った、この意思決定プロセス自体が、当社の受託開発における付加価値だと考えています。

LINE Botと壁掛けiPadで結ぶ家族写真配信基盤 - [object Object]
LINE Botと壁掛けiPadで結ぶ家族写真配信基盤 - [object Object]

この成果を、あなたのビジネスでも

まずはお気軽にご相談ください。貴社の課題に合わせた最適なプランをご提案します。