ゴミ捨てLINE通知SaaSを作ろうとしたら気づいたらCron SaaS作ってた話

>100 Views

March 19, 26

スライド概要

最新作SaaSもどきの失敗談についてのLT資料です

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

ゴミ捨てLINE通知SaaSを 作ろうとしたら 気づいたらCron SaaS作ってた話 「ちょっと便利なもの作るか」→ 地獄 2026

2.

自己紹介 名前 : tanahiro2010 スタック : Next.js / TypeScript / PostgreSQL 趣味 : 内なる衝動に従い使われないSaaSもどきを作ること 今日の話 : その最新作(黒歴史)

3.

事の発端 「ゴミの日、毎回忘れるんだよな……」 ↓ LINEで通知してくれるSaaSを作れば需要ありそう! ↓ 全県のゴミの日を調べるのは無理 → 自治体自主登録制に!

4.

いざ開発スタート!(順調) ✅ フロントエンド完成 ✅ バックエンド / 登録エンドポイント完成 ✅ Cronのコールバックエンドポイント完成 🤔 あとはCronで定期実行するだけ……

5.

あれ……? APIから動的にCronを設定できるサービス…… 存在しなくね? 「じゃあ……作るか」

6.

Cron SaaS 爆誕 ユーザー Next.js API NeonDB Cronを登録 ジョブ管理 ジョブ保存 GAS Webhook 1分毎にポーリング 実行! GASが1分毎にAPIを叩いて期限のきたジョブを実行

7.

完成! 動作確認にDiscord Webhookを設定してみる POST /api/jobs { "url": "https://discord...", "schedule": "0 8 * * *" … } 毎朝8時にDiscordへ通知が来る 🎉

8.

1ヶ月後…… 「あれ?今日Webhookきてなくね?」 「バグった?ログ確認するか……」 「あっ……」

9.

_人人人人人人人人人人人人_ > NeonDB の < 月間 CPU 実行時間制限  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄ GASが1分毎にリクエスト → DBが寝られない → Free tierのCompute Hours消滅。 容量的には問題ナッシング

10.

何が起きたのか 原因 GASが1分毎にリクエスト → DBがAuto-suspendできない → NeonDB Free tier: 月500時間のCompute Hours上限に到達 対策 ① Neon有料プランへ移行($19/mo〜) ② DBをPlanetScale / Supabaseに乗り換え ③ GASのポーリング頻度を下げる(5〜10分) ④ Redis / キャッシュでDBへの直接アクセスを減らす

11.

学び サーバーレスDBと常時起動ワークロードは相性が悪い Auto-suspendが売りのNeonに、1分毎のポーリングは致命的 "ちょっとしたもの"を作ろうとすると周辺ツールを作り始める ゴミ通知 → Cron SaaS。技術的負債どころか技術的迷子。なんなら途中からリクエストロガーも作ってた 本番前に制限事項は全部読もう ドキュメントの片隅に書いてある「500 compute hours/month」

12.

まとめ 作りたいものを作ろうとすると 周辺ツールを作り始めて いつの間にか全然違うものができてる でも動いてたからヨシ!(1ヶ月だけ) ご清聴ありがとうございました