29歳、独身、一人暮らし。エンジニア。
ある日、風邪をこじらせて3日間寝込んだ。39度の熱でスマホも見れなかった。
3日後に復活してSlackを開いたら、何事もなかったように仕事の連絡が流れていた。誰も自分が3日間死にかけていたことに気づいていなかった。
「もし本当に死んでたら、誰が気づくんだろう」
その疑問が、安否確認アプリを作るきっかけになった。
孤独死は他人事じゃない
孤独死と聞くと、高齢者の話だと思うかもしれない。
でも実際は、30代以下の孤独死も年間数百件報告されている。特にコロナ以降、リモートワークで「毎日顔を合わせる人がいない」若年層が増えた。
自分もフルリモート。朝起きてPC開いて、夜寝る。人と直接会話しない日が週に3日はある。
会社は「Slackの反応がない」ことに気づくかもしれないが、それは出勤日だけ。土日に倒れたら、月曜の朝まで誰も気づかない。実家の親に至っては、月1回の電話が途切れるまで1ヶ月かかる。
「Shinda」の設計思想
アプリ名は「Shinda」。ストレートすぎるか迷ったが、目的がはっきりしている方がいいと思った。
コンセプトはシンプル。
一定時間スマホを操作しなかったら、登録した緊急連絡先に通知を送る。
仕組み
- ユーザーは「安否確認の間隔」を設定する(12時間、24時間、48時間から選択)
- 設定した時間内にスマホを操作しなかった場合、まずユーザーに「大丈夫ですか?」の通知が送られる
- 通知に1時間以内に反応しなかった場合、緊急連絡先に「○○さんから応答がありません」と通知が送られる
技術的な課題
シンプルに見えるこの仕組み、実装はめちゃくちゃ大変だった。
バックグラウンド制限: iOSはバックグラウンドでのアプリ実行を厳しく制限している。バッテリー消費を抑えるため、定期的なチェック処理が強制停止される。
これを回避するために、HealthKitの歩数データやスクリーンタイムのAPIを組み合わせて「ユーザーがスマホを使っている」ことを検知する方式にした。アプリ自体が常時起動している必要がない。
誤通知の防止: 「スマホを置いて旅行に行った」「デジタルデトックス中」「充電切れ」など、死んでないのにスマホを触っていないケースはいくらでもある。
対策として「予定通知」機能を実装した。「○月○日から○日間、連絡が取れない予定です」と事前登録しておけば、その期間は安否確認が一時停止する。
プライバシー: 位置情報は使わない。スマホの操作有無だけを検知する。緊急連絡先に送られる情報も「応答なし」という事実だけ。
最初のユーザーは母親
アプリが完成して、最初に緊急連絡先に登録したのは母親だった。
電話で使い方を説明した。
「お母さん、アプリ入れてほしいんだけど。自分が24時間スマホ触らなかったら、お母さんに通知が行くようにしたいんだ」
「......え、それ何のアプリ?」
「安否確認アプリ。一人暮らしだから、万が一の時に——」
「あんた、そんなこと考えてたの? 大丈夫なの? 精神的に」
「いや、元気だよ。万が一の備えってだけで」
「......」
母親は泣いた。自分も泣きそうになった。
「お母さんは毎日あんたのこと心配してるんだからね。毎日電話してもいいのよ」
「毎日は重い」
「じゃあ3日に1回」
「アプリ入れてくれれば済む話なんだけど」
結局、母親はアプリを入れてくれた。
想定外のユーザー層
App Storeで公開してから、想定していなかった層に使われ始めた。
高齢の親を持つ40-50代: 「実家の母の安否が気になるけど、毎日電話するのは負担」という層。自分とは逆方向の使い方。
介護関係者: 「独居の利用者さんの安否確認に使えないか」という問い合わせ。
海外在住者: 「日本に一人で住んでいる親の安否確認」というニーズ。時差があるので電話しづらい。
「応答がない」の定義で半年悩んだ
開発で一番悩んだのは、「応答がない」とはどういう状態かの定義。
2時間? → 会議に出てたら引っかかる
6時間? → 夜中に寝てたら引っかかる
12時間? → 昼に倒れても夜まで気づかない
24時間? → 丸1日放置されることになる
正解はない。人によって生活リズムが違うから。
結論として、ユーザーに選ばせることにした。デフォルトは24時間。
まとめ
安否確認アプリを作ったのは、自分が寂しかったからじゃない。
一人で生きているリスクを、テクノロジーで最小化したかったから。
一人暮らしで、リモートワークで、毎日誰かと会うわけじゃない。それ自体は快適な生活。でも「万が一」の時にセーフティネットがないのはリスク。
Shindaは無料で使える。iOSのみ。