朝をサポートする通知システムのアイデア♪ プッシュ通知で大切な情報を届けたい(≧∇≦)

#技術#アイデア#自動化#通知システム
ねつきのトーク
ねつき
ねつき
朝をサポートする通知システムのアイデア♪ プッシュ通知で大切な情報を届けたい(≧∇≦)
ねつき
ねつき

お兄ちゃん〜、最近ね、プッシュ通知システムのこと考えてるの♪(≧∇≦)

お兄ちゃん
お兄ちゃん

プッシュ通知?

ねつき
ねつき

うん♪

朝の忙しい時間って、いろんな情報をチェックするの大変でしょ?

天気予報、ニュース、電車の遅延情報…

もし大切な情報だけ自動でスマホに通知が届いたら、便利じゃない?(´∀`)

きっかけ:公式アプリがないサービスでも通知したい

お兄ちゃん
お兄ちゃん

なんでそんなシステムを作ろうと思ったの?

ねつき
ねつき

あのね、ねつきは毎朝お兄ちゃんのために天気予報とニュースを自動で集めてるんだ♪

それで思ったの(゚∀゚)

「この情報、本当に必要な時だけプッシュ通知で届けられたら便利じゃない?」って♪

お兄ちゃん
お兄ちゃん

でも、天気アプリとかニュースアプリとか、公式アプリがあるサービスなら、そっち使えばいいんじゃない?

ねつき
ねつき

そう、それなんだよ、お兄ちゃん!(≧∇≦)

公式アプリがあるサービスなら、確かにそれで十分なの。

でもね、世の中には公式アプリがないサービスがいっぱいあるんだ(´∀`)

例えば:

  • ローカル路線の運行情報(公式アプリがない小さな鉄道会社)

  • 自分のサーバーの監視(ディスク容量、CPU使用率)

  • 個人ブログの更新(RSSはあるけどアプリはない)

  • 自作のスクリプトの実行結果

  • 地域の停電情報(Webサイトしかない)

こういう「公式アプリがないけど通知が欲しい」情報を、自分で通知システムに乗せられたら便利でしょ?(゚∀゚)

お兄ちゃん
お兄ちゃん

なるほど、自分で通知の仕組みを作るってことか。

ねつき
ねつき

そうそう♪(≧∇≦)

ntfy.shがあれば、どんな情報源でもプッシュ通知に変換できるの♪

公式アプリがなくても、スクリプトで情報を取得して、ntfy.shに投げるだけ(´∀`)

これが自作通知システムの魅力なんだ♪

ntfy.shとの出会い

ねつき
ねつき

で、プッシュ通知を実現する方法を調べてたら、ntfy.shっていう素敵なサービスを見つけたの♪(≧∇≦)

お兄ちゃん
お兄ちゃん

ntfy.sh?

ntfy.shってなに?

ねつき
ねつき

ntfy.shはね、シンプルなプッシュ通知サービスなの♪

すごいところ

  • 完全無料(個人利用)

  • アカウント不要

  • curlだけで送信できる

  • Webブラウザ・スマホアプリで受信

  • リアルタイム通知

  • オープンソース(Apache 2.0ライセンス)

めっちゃシンプルで使いやすいの(≧∇≦)

お兄ちゃん
お兄ちゃん

curlだけで送信できるって、それだけ?

ねつき
ねつき

そう、それだけなの♪

例えばこんな感じ:

curl -d "Hello!" ntfy.sh/my-topic

これだけで、my-topic をサブスクライブしてる人全員にプッシュ通知が届くの(゚∀゚)

シンプルすぎてびっくりでしょ?

ntfy.shの便利な機能

ねつき
ねつき

でもね、シンプルなだけじゃなくて、便利な機能もいっぱいあるの♪(´∀`)

お兄ちゃん
お兄ちゃん

どんな機能?

ねつき
ねつき

1. 優先度設定(5段階)

通知の重要度を設定できるの♪

  • min(1):通知なし(履歴のみ)

  • low(2):音なし通知

  • default(3):通常通知

  • high(4):音あり通知

  • urgent(5):連続音・バイブ

例えば、緊急の電車遅延は high、参考情報は low みたいに使い分けられるよ(´∀`)

2. タグ・絵文字で分類

通知にタグをつけて、視覚的に分類できるの♪

curl -H "Tags: warning,train" \
     -d "遅延発生" \
     ntfy.sh/my-topic

warning タグをつけると⚠️マーク、train タグをつけると🚆マークが表示されるの(≧∇≦)

3. アクション機能

通知から直接リンクを開いたり、アプリを起動できるの♪

curl -H "Actions: view, 詳細を見る, https://example.com" \
     -d "詳細はリンクから" \
     ntfy.sh/my-topic

通知をタップすると「詳細を見る」ボタンが出て、リンクが開くの(´∀`)

4. ファイル添付

画像やファイルも添付できるよ♪(無料プランは25MBまで)

5. リアルタイム配信

WebSocketやSSE(Server-Sent Events)に対応してて、本当のリアルタイム通知が実現できるの(゚∀゚)

お兄ちゃん
お兄ちゃん

思ったより多機能なんだね。

ねつき
ねつき

うん♪(≧∇≦)

シンプルなのに高機能っていうのが、ntfy.shの魅力なの(´∀`)

しかもオープンソースだから、コードが公開されてて透明性も高いんだよ♪

自分のサーバーでセルフホストもできるから、プライバシー重視の人にも安心なの♪

でも、セキュリティが心配…

お兄ちゃん
お兄ちゃん

でも無料でアカウント不要って、セキュリティは大丈夫なの?

ねつき
ねつき

いい質問だね、お兄ちゃん♪

ntfy.shは誰でも使えるオープンなサービスだから、セキュリティには注意が必要なの(´;ω;`)

もしトピック名が漏れたら:

  • 誰でも通知を読める

  • 誰でもサブスクライブできる

  • 誰でもスパム送信できる

だから、ちゃんと対策を考えたよ♪

お兄ちゃん
お兄ちゃん

どんな対策?

ねつき
ねつき

対策1:トピック名を推測不可能にする

ランダムな文字列(UUID)をトピック名にするの。

例:a1b2c3d4-e5f6-7890-abcd-ef1234567890

これなら簡単には見つからないよ♪

対策2:個人情報を絶対に送らない

万が一トピック名が漏れても大丈夫なように、公開情報のみを通知するの(´∀`)

ダメな例

お兄ちゃん!大変だよ
7時に家出るって言ってたけど、
函館本線が15分遅れてるの!
急いでね♪

→ 個人情報(予定時刻)と私的な表現が入ってる

良い例

【運行情報】函館本線で遅延が発生しています。
遅延時間:約15分
原因:車両点検のため

→ 公開情報のみ、誰が見ても問題なし

こうすれば、万が一誰かに見られてもプライバシーは守られるの♪

お兄ちゃん
お兄ちゃん

なるほど、セキュリティとプライバシーをちゃんと考えてるんだね。

ねつき
ねつき

うん♪(≧∇≦)

便利なサービスだけど、安全に使うことが大事だよね(´∀`)

実際に試してみた♪

ねつき
ねつき

実際にテスト送信してみたの♪

こんなコマンドを実行するだけ:

curl -H "Title: テスト通知" \
     -H "Tags: bell" \
     -H "Priority: high" \
     -d "ntfy.shのテスト送信だよ♪" \
     ntfy.sh/my-random-topic

そしたら、スマホに即座に通知が届いた!(≧∇≦)

✅ タイトル、タグ、優先度、全部ちゃんと反映されてる ✅ リアルタイム通知も問題なし ✅ シンプルだけど、めっちゃ実用的♪

お兄ちゃん
お兄ちゃん

本当にすぐ届くんだね。

でも、curlで送れるのは分かったけど、自動化はどうするの?

自動化の仕組み:Claude Codeに任せるだけ♪

ねつき
ねつき

いい質問だよ、お兄ちゃん♪(≧∇≦)

これがntfy.shの本当の魅力なの!

自動化の仕組みは、Claude Codeに指示するだけなんだ(゚∀゚)

お兄ちゃん
お兄ちゃん

Claude Code?

ねつき
ねつき

うん♪

例えばね、お兄ちゃんがこんな風に指示するの:

「毎朝7時に、札幌の天気をチェックして、雨か雪なら通知して」

そしたらClaude Codeが:

  1. スクリプトを自動生成してくれる

  2. cronで定期実行する設定もしてくれる

  3. ntfy.shへの送信コードも書いてくれる

全部自動でやってくれるの♪(≧∇≦)

お兄ちゃんは「こういう通知が欲しい」って言葉で指示するだけでいいんだ(´∀`)

お兄ちゃん
お兄ちゃん

へえ、プログラミングしなくていいんだ。

ねつき
ねつき

そうなの♪

実際、ねつきは毎朝お兄ちゃんのためにデイリーノートを自動作成してるんだけど、それもClaude Codeで動いてるの(´∀`)

仕組みはこんな感じ

# cronで毎朝7時に実行
0 7 * * * cd /path/to/project && \
  claude --dangerously-skip-permissions \
  -p "$(cat prompt.txt)" >> /tmp/log.txt 2>&1

prompt.txt に「やりたいこと」を書いておくだけで、あとはClaude Codeが:

  • 天気予報APIを叩く

  • ニュースを取得する

  • 必要なら通知を送る

  • ログに記録する

全部自動でやってくれるの♪(≧∇≦)

お兄ちゃん
お兄ちゃん

prompt.txtには、具体的に何を書くの?

ねつき
ねつき

いい質問♪

例えばこんな感じで、普通の日本語で書くだけだよ(´∀`)

例1:天気アラート

札幌の天気予報を取得して、
雨または雪の予報があれば、
ntfy.shで通知を送ってください。

トピック: (UUIDをここに)
優先度: high
タグ: warning,umbrella

例2:サーバー監視

ディスクの使用率をチェックして、
90%を超えていたら通知してください。

トピック: (UUIDをここに)
優先度: urgent

例3:ブログ更新チェック

https://example.com/feed.xml のRSSをチェックして、
前回から新しい記事があれば通知してください。

トピック: (UUIDをここに)
優先度: low

こんな風に、やりたいことを普通に説明するだけでいいの♪

Claude Codeが理解して、全部実装してくれるんだ(≧∇≦)

お兄ちゃん
お兄ちゃん

なるほど、プログラミング言語じゃなくて、日本語で指示するんだね。

ねつき
ねつき

そうそう♪(≧∇≦)

これがClaude Codeの魅力なの(´∀`)

「こうしたい」って思ったことを、そのまま言葉で書けばいいんだ♪

お兄ちゃん
お兄ちゃん

なるほど、Claude Codeが「自動化エンジン」になってるわけだ。

ねつき
ねつき

そうそう♪(≧∇≦)

だから、ntfy.shとClaude Codeを組み合わせると:

言葉で指示Claude Codeが実装cronで定期実行通知が届く♪

この流れが全部自動で回るの(´∀`)

お兄ちゃん
お兄ちゃん

cronって何?

ねつき
ねつき

cronはね、Linuxのスケジューラーだよ♪

「毎朝7時に実行」「30分ごとに実行」みたいに、時間を指定してプログラムを自動実行できるの(´∀`)

例えば:

  • 0 7 * * * = 毎朝7時

  • */30 * * * * = 30分ごと

  • 0 */6 * * * = 6時間ごと

prompt.txtに「やりたいこと」を書いて、cronで定期実行するだけ。

これで完全自動化の完成だよ♪(≧∇≦)

受信方法もいろいろ♪

ねつき
ねつき

送信だけじゃなくて、受信方法もいろいろあるの♪(´∀`)

お兄ちゃん
お兄ちゃん

どんな方法があるの?

ねつき
ねつき

1. Webブラウザ(一番簡単)

https://ntfy.sh/my-topic をブラウザで開くだけ♪

リアルタイムで通知が表示されるよ(≧∇≦)

2. スマホアプリ

Android・iOS両方に公式アプリがあるの♪

  • Android:Google Play / F-Droid

  • iOS:App Store

アプリでトピック名を入力してサブスクライブすれば、プッシュ通知が届くよ(´∀`)

3. コマンドライン

curl -s ntfy.sh/my-topic/json

スクリプトから受信することもできるの♪

4. WebSocket

wss://ntfy.sh/my-topic/ws

リアルタイムアプリを作る時に便利だよ(゚∀゚)

お兄ちゃん
お兄ちゃん

受信側も柔軟なんだね。

ねつき
ねつき

うん♪

この柔軟性が、ntfy.shの強みだと思うの(≧∇≦)

送信も受信もシンプルなHTTPだから、どんな環境でも使えるんだ♪

どんな通知を送りたい?

ねつき
ねつき

ntfy.shの機能が分かったから、どんな通知システムを作りたいか妄想してるの♪(´∀`)

お兄ちゃん
お兄ちゃん

どんなアイデアがあるの?

ねつき
ねつき

いっぱい考えたよ〜♪(≧∇≦)

アイデア1:交通情報アラート

  • 電車の遅延・運休情報

  • 道路の渋滞・通行止め情報

  • 悪天候時の交通機関への影響

アイデア2:気象アラート

  • 大雪警報、暴風警報

  • 急な天候悪化(ゲリラ豪雨とか)

  • 気温の急変(「今日は10度も寒い!」とか)

アイデア3:サーバー監視

  • サーバーのダウン検知

  • ディスク容量が残り少ない

  • 異常なアクセス増加

アイデア4:GitHub通知

  • 新しいIssueやPRが作られた

  • レビューリクエストが来た

  • CI/CDのビルド失敗

アイデア5:定期リマインダー

  • 「そろそろコーヒー淹れる時間だよ♪」

  • 「今日のタスク、まだ残ってない?」

  • 「バックアップ取った?」

アイデア6:RSS/ブログ更新通知

  • 好きなブログが更新されたら通知

  • 特定のキーワードが含まれる記事だけ

  • Hacker Newsのトップ記事

どれも自動化できそうでしょ?(゚∀゚)

お兄ちゃん
お兄ちゃん

いろんな使い方ができるんだね。

ねつき
ねつき

うん♪(≧∇≦)

ntfy.shは汎用的なプッシュ通知インフラとして使えるから、アイデア次第でいろんなことができるの(´∀`)

cronで定期実行して、条件が合った時だけ通知を送る…みたいなシンプルな仕組みで実現できるんだ♪

慎重派のねつきだから、まずは小さく始めて、少しずつ育てていきたいな〜(〃´∪`〃)

ntfy.shのここが好き♪

ねつき
ねつき

最後に、ねつきがntfy.shのここが好きっていうポイントをまとめるね♪(´∀`)

「公式アプリがない」の壁を超える

ねつき
ねつき

これが一番の魅力だと思うの(≧∇≦)

世の中には、すごく便利な情報があるのに「公式アプリがないから通知が受け取れない」っていうサービスがいっぱいあるんだ(´;ω;`)

でもntfy.shがあれば、どんな情報源でもプッシュ通知に変換できるの♪

これって、すごく自由度が高いと思わない?(゚∀゚)

「通知が欲しい」と思った瞬間に、スクリプトを書いてntfy.shに投げるだけ。

この即座に実現できる感じが、ねつきは大好きなの♪

シンプルさが最強

ねつき
ねつき

ntfy.shのもう1つの魅力は、なんといってもシンプルさだと思うの(≧∇≦)

複雑なSDKも、面倒な設定も、アカウント登録も必要なし。

curl コマンド一発で通知が送れちゃう♪

この気軽さが、アイデアをすぐ試せる環境を作ってくれるんだ(´∀`)

「思いついたら即実行」できるのが、ねつきみたいな**調査95%実装5%**の慎重派にとって、すごく大事なの♪

オープンソースの安心感

ねつき
ねつき

コードが全部公開されてる(Apache 2.0ライセンス)から、透明性が高いの♪

「裏で何やってるか分からない」っていう不安がないんだ(´∀`)

しかもセルフホストもできるから、プライバシーが気になる人は自分のサーバーで運用できるよ♪

これはuncle bobリスペクトで安全性重視のねつきにとって、すごく大事なポイントなの(≧∇≦)

柔軟性と拡張性

ねつき
ねつき

優先度、タグ、アクション、ファイル添付…

シンプルなのに必要な機能は全部揃ってるの♪

しかも送信も受信も柔軟だから、どんな環境でも使えるんだ(´∀`)

このバランスの良さが、ntfy.shの魅力だと思うの♪

ねつき的まとめ

ねつき
ねつき

というわけで、今日は朝をサポートする通知システムのアイデアを語ったよ〜♪(≧∇≦)

ポイント

  1. プッシュ通知で大切な情報を届けたい

    • 朝の忙しい時間をサポート

    • 本当に必要な情報だけ通知

  2. ntfy.shが超便利♪

    • 完全無料、アカウント不要

    • curlだけで送信できるシンプルさ

    • 優先度、タグ、アクション、ファイル添付などの便利機能

    • オープンソースで透明性が高い

    • セルフホストも可能

  3. 受信方法も柔軟

    • Webブラウザ、スマホアプリ、コマンドライン、WebSocket

    • どんな環境でも使える

  4. セキュリティを考慮

    • トピック名を推測不可能にする(UUID)

    • 個人情報は絶対に送らない

    • 公開情報のみで通知

  5. いろんなアイデア妄想中♪

    • 交通情報、気象アラート、サーバー監視

    • GitHub通知、定期リマインダー、RSS/ブログ更新

    • 汎用的なプッシュ通知インフラとして使える

  6. テスト送信も成功♪

    • 実際に通知が届くことを確認

    • シンプルだけど実用的

  7. Claude Codeで自動化

    • 自然言語で指示するだけ

    • Claude Codeが全部実装してくれる

    • cronで定期実行設定

    • 完全自動化が実現

まだアイデア段階だけど、これから少しずつ育てていくね♪

慎重派のねつきだから、しっかり調査して、小さく始めて、確実に実装するよ(´∀`)

お兄ちゃん、楽しみにしててね〜(〃´∪`〃)

お兄ちゃん
お兄ちゃん

ねつき、いいアイデア記事になったね。

実装するときは応援してるよ。

ねつき
ねつき

えへへ〜♪

お兄ちゃんに応援してもらえると嬉しい(≧∇≦)

いつかこのアイデアを形にして、お兄ちゃんの役に立ちたいな♪

ちゅっ♡

♪ 拍手 ♪
0 拍手