【自家発信】SNS投稿が面倒すぎたので、自分用に「Karasu」をつくった話
サムライアプス、土居です。
SNS 投稿、面倒じゃありませんか? そこで、私は Karasu という自動投稿サービスを作ってしまいました。 自分のサイトに公開した記事を AI に読ませて要約し、自分の X アカウントに自動投稿する、自社開発のツールです。
ちなみにこの記事も、リリースから少し経つと Karasu が勝手に X でつぶやいてくれます。
なぜ作ったのか、というところから少し書かせてください。
SNS 発信、面倒すぎ問題
SNS の発信って、本気でやろうとすると結構大変です。
- 短く収めないといけない(X だと 140 文字)
- 1 日 1 回以上は流したい(流れが速すぎるので)
- 内容を毎回考えないといけない
私は、そんなにまめなほうではありません。こういう作業はとっとと機械化してしまいたい派です。
毎日ネタを新しく考えるのは無理なので、ひとまず 「過去記事の資産を繰り返し発信する」 ことから始めることにしました。 そう決めた瞬間、「それなら LLM で要約して自動配信すればよくない?」と思いついたので、作ったのが Karasu です。
エンジニアなら、自分で作る
エンジニア界隈には「自分で必要なツールは、自分で作る」みたいな標語がやんわり共有されています。 かっこいい標語ですが、正直これまでは「言うは易し、行うは難し」でした。実際には日々の業務に追われ、なかなか手が進まないものでした。
ところが、Agentic Coding の登場で状況は劇的に変わりました。
ざっくりコンセプトを伝えたあとは、設計フェーズで AI エージェントと相当な議論を重ねます。要件、データモデル、エッジケース、運用上の制約まで対話で詰めていく——いわゆる「Vibe Coding(雰囲気で書かせる)」ではなく、設計の判断は人間が握るスタイルです。 そこさえ握れば、実装・テスト・デプロイは AI 側が一気に進めてくれます。
Karasu も、コアの仕組みは 半日もかからずに 動き始めました。本当にすごい時代です。
このサイトも、Karasu に流してもらうことにした
そんなわけで、このコーポレートサイト(v2)の発信運用も、こう変えました。
- 書く — 記事をふつうに書いて公開する
- 委ねる — Karasu が RSS から新着記事を見つけてくれるので、X 投稿はおまかせ
- 以上
「ツイートの文面を考える」工程が消えただけなのですが、これが想像以上に効きます。 発信したいネタがあったら、ブログ記事を書くこと自体が SNS 配信になるからです。
つまりこの記事も、書いた瞬間に SNS 用素材としても兼用されている、という構造になっています。
「これは売れるぞ!」と思ったが…
開発しながら、「これ普通に SaaS として売れるんじゃない?」と思いました。 でも一応冷静になろうと思って、Claude に ファイブフォース分析 をやらせてみました。すると——
- 業界内の競争:激しい。SNS 自動投稿サービスは星の数ほどある(Buffer、Hootsuite、IFTTT、X 公式の予約投稿……)
- 新規参入の脅威:障壁が事実上ゼロ。Karasu と同じものは、誰でも数日で作れる(実際つくった)
- 代替品の脅威:高い。ChatGPT に要約させて手元でコピペ予約投稿で完結——そもそも SaaS いらない
- 買い手の交渉力:強い。Karasu 側に固有データもサンクコストも貯まらないので、いつでも気軽に乗り換えられる
- 売り手の交渉力:圧倒的に強い。Anthropic、AWS、X API、Stripe、MongoDB と、見事に巨人に四方を囲まれている
- Karasu 固有の優位性:……特になし
「Karasu、5つの脅威すべてに弱く、固有の優位性もありません」と AI に堂々と言われてしまいました(笑)
でもよく考えると、これってまさに最近言われている “SaaS is Dead” の実例ですよね。 「私が数日で作れた」ということ自体が、その証拠なわけで。
それでも一応、SaaS にしておきました
優位性がないと言われましたが、自分が欲しかったし、同じ需要がある人もいるかもしれないので、一応 SaaS として公開 しています。
| プラン | 月次投稿 | フィード登録 |
|---|---|---|
| Free | 11回 | 4件 |
| Starter (¥390) | 31回 | 5件 |
| Standard (¥790) | 71回 | 7件 |
| Pro (¥1,290) | 121回 | 10件 |
ただし、こちらの本音としては、「こういうものが数日で作れちゃう時代のショーケース」として見ていただければと思っています。
「優位性ない」と言われましたが、ちょっとだけ工夫しています
レッドオーシャン認定された手前あれですが、Karasu には地味にこだわっているポイントがあります。
ひとつは、RSS フィードは「記事インデックス」としてしか使わない こと。RSS の description を要約しているわけではなく、Karasu はフィードから新着記事のリンクを拾ったあと、実際の記事ページ本文を取得しに行きます。
もうひとつは、その記事本文を 「まるごと」は要約しない こと。まず段落(セクション)を一つ選び、その段落だけを要約して投稿します。
この組み合わせが、ちょっと効きます。
- 同じ記事に対して何度ポストしても、毎回違うハイライト になる
- 全文要約だと「あらすじだけ」になりがちなところを、「この記事のここが面白い」というピンポイント紹介にできる
- 1 本の記事を、長く資産として回せる(過去記事の繰り返し発信運用と噛み合う)
「過去記事の資産を繰り返し発信する」という出発点に、ちゃんと寄り添った仕組みになっています。 ので、同じ記事から何回つぶやかれても「またこれかよ」とはならないはず——というのがちょっとした言い訳です。
たとえばこの記事に対しては、こんな感じのポストが流れる予定です(同じ記事から)。
SNS 投稿、面倒じゃありませんか?毎日ネタを考えるのは無理。 それなら過去記事の資産を繰り返し発信すればいい—— 気づいた瞬間に LLM 自動配信を作ってしまった、というのが Karasu です。 https://www.samurai-apps.com/blog/about-karasu
『自分で必要なツールは自分で作る』が Agentic Coding でついに現実に。 コンセプトを伝えて設計を議論すれば、実装・テスト・デプロイまで一気通貫。 Karasu のコアは半日で動き始めました。 https://www.samurai-apps.com/blog/about-karasu
Claude に Karasu のファイブフォース分析をさせたら、 5 つの脅威すべてに弱く、固有の優位性ゼロという完全敗北判定(笑) 「数日で作れた」こと自体が SaaS is Dead の実例だなと。 https://www.samurai-apps.com/blog/about-karasu
同じ記事を「面倒の解決」「Agentic Coding ネタ」「自虐オチ」という違う切り口で紹介できる——というのが、段落単位要約の効きどころです。
しくみ(技術好き向け)
参考までに、構成はこんな感じです。
- バックエンド: Python 3.12 + FastAPI、Lambda 上に Mangum で載せる
- 要約 AI: Amazon Bedrock 経由で Claude Haiku
- スケジューラ: EventBridge で毎時 Lambda を起動
- DB: MongoDB Atlas
- フロントエンド: Nuxt 4 + Vuetify、認証は Cognito
- 決済: Stripe Checkout + Customer Portal
- インフラ: AWS CDK、
v*タグ push で本番デプロイ
なお Karasu は、登録した RSS が 本当に自分のサイトかどうか確認するフロー を入れています。フィードに 4 桁の絵文字コード(例: 🔑a3f9)を埋め込んで Karasu が照合する、というシンプルな仕組みです。 他人のサイトを勝手に登録して垂れ流す、みたいな使い方をできなくしておきたかったので。
まとめ
- SNS 発信は面倒、機械化したい
- 過去記事を回せばいいじゃない、と気づいた
- Agentic Coding のおかげで、自分用ツールを 半日で作れる 時代
- ファイブフォース的にはレッドオーシャンで優位性ゼロ、SaaS is Dead の実例
- とはいえ「段落単位で要約」だけは地味にこだわった
- でも一応 SaaS にしたので、よければ使ってください
そして繰り返しますが、この記事も Karasu が勝手につぶやきます。 ご縁があれば、X のタイムラインで再会しましょう。
これにて御免!