個人開発SaaSの始め方: GramShift開発の舞台裏と最初の3週間
GramShift開発者が語る、個人開発SaaSの立ち上げと技術選定の真実

あなたは今、本業の傍らで何か新しいサービスを開発したい、あるいは個人でSaaSを立ち上げたいと考えていませんか?この記事では、私がInstagram自動運用SaaS『GramShift』を一人で開発し始めた頃の経緯、最初の3週間の試行錯誤、そしてなぜ特定の技術スタック(Electron/Playwright/Node.js)を選んだのかを、私の実体験を交えて詳細に解説します。この記録が、あなたの個人開発SaaSへの第一歩を力強く後押しするはずです。
なぜInstagram自動運用SaaSなのか?市場ニーズと着想
個人開発でSaaSを始める際、最も重要なのは「何を開発するか」というテーマ選定です。私は2026年3月頃、自身のInstagramアカウント運用で集客に課題を感じていました。特に、ターゲットとなるユーザーへのリーチ、エンゲージメントの獲得に膨大な時間と労力がかかり、本業との両立が難しいと感じていたのです。
この課題は私だけのものではなく、多くのビジネスパーソン、特に中小企業のオーナーやフリーランスが抱えている共通の悩みだと確信しました。手作業での「いいね」やフォローは非効率であり、自動化への強い需要があると感じたのが、GramShift着想の原点です。既存のツールは高価だったり、機能が限定的だったり、規約違反のリスクが高かったりするものが多く、より安全で効果的な解決策を個人開発で提供できないかと考えたのです。
技術スタック選定の舞台裏: ElectronとPlaywrightの選択
GramShiftの開発を始めるにあたり、最も悩んだのが技術スタックの選定でした。Instagramの自動化を考える際、多くの人がまず「Meta公式API」の利用を検討するでしょう。しかし、当時のMetaのAPI利用規約は厳格であり、個人開発者が集客目的で利用するには非常に高いハードルがありました。誤った利用はアカウント停止のリスクを伴います。
そこで私は、より安全で確実な方法として「ブラウザ操作の自動化」を選択しました。人間がInstagramを操作するのと同様の挙動をプログラムで再現することで、規約違反のリスクを最小限に抑えることを目指したのです。この判断が、ElectronとPlaywrightを組み合わせた当時の決定的な判断材料となりました。
- Playwright: ブラウザ自動化ライブラリの中でも、Chromium、Firefox、WebKitといった主要ブラウザに対応し、安定性と高性能を兼ね備えています。特に
launchPersistentContextを用いることで、ログイン状態を維持したまま操作できる点が魅力的でした。 - Electron: Playwrightで構築したブラウザ自動化ロジックをデスクトップアプリケーションとして提供するために選びました。これにより、ユーザーはWebブラウザ上で動作するのではなく、自身のPC上でGramShiftを動作させることが可能になります。これはセキュリティと安定性の面で大きなメリットをもたらします。
- Node.js/Fastify/SQLite: バックエンドには、自身の得意なNode.js環境を選択。高速なFastifyでAPIサーバーを構築し、軽量で組み込みやすいSQLiteをデータベースとして採用しました。これにより、開発初期段階でのセットアップコストを抑え、迅速な開発が可能になりました。
私が初期段階でPlaywrightの動作確認のために作成した、シンプルな起動スクリプトの一部を以下に示します。
const { chromium } = require('playwright');
(async () => {
// ユーザーデータディレクトリを指定して永続的なコンテキストを作成
const userDataDir = './user-data/instagram';
const browser = await chromium.launchPersistentContext(userDataDir, {
headless: false, // UIを表示してデバッグ
args: ['--no-sandbox', '--disable-setuid-sandbox']
});
const page = await browser.newPage();
// Instagramにアクセス
await page.goto('https://www.com/', { waitUntil: 'networkidle' });
console.log('Instagramにアクセスしました');
// ログインが完了しているか確認(例: ホームページの特定の要素を待つ)
// ログインが必要な場合は、ここでログイン処理を実装
// await page.waitForSelector('[aria-label="ホーム"]', { timeout: 60000 });
console.log('ログイン状態を確認しました');
// その他の自動化処理...
// 30秒後にブラウザを閉じる(デバッグ用)
// await new Promise(resolve => setTimeout(resolve, 30000));
// await browser.close();
})();最初のMVP構築: 2週間の集中開発と機能絞り込み
個人開発SaaSで成功するための鍵の一つは、MVP (Minimum Viable Product: 最小実行可能製品) を素早く市場に投入し、フィードバックを得ることです。私は「最初のMVPは機能を絞って2週間で作る」と目標を設定しました。GramShiftの最初のMVPでは、ターゲットアカウントへの「自動いいね」機能のみに特化しました。理由は、これがInstagram運用における最も基本的な集客アクションであり、ユーザーが効果を実感しやすいと考えたからです。
この2週間は、集中と選択の日々でした。平日夜は3時間、週末は10時間以上を開発に費やし、以下のようなタスクをこなしました。
- PlaywrightでのInstagramログイン処理の実装
- キーワード検索に基づくターゲットアカウントの抽出ロジック
- 抽出したアカウントへの「いいね」アクションの実装
- 処理の安全性を高めるためのランダムな待機時間 (Human-Pacing) の導入
- ElectronでのデスクトップアプリとしてのUIフレームワーク構築
この期間で、私は何よりも「完璧を目指さない」ことを意識しました。UIは洗練されていなくても、機能は最小限でも、動くものを作る。そして、その動くものでユーザーの反応を見る。このアプローチが、その後の開発の方向性を決定づける重要なステップとなりました。
直面した技術的課題と失敗談: PlaywrightのPersistent Context問題
最初の3週間の開発期間中、私はある大きな壁にぶつかりました。PlaywrightのlaunchPersistentContext機能を利用してInstagramのログイン状態を維持しようとした際、Google OAuth認証がどうしても成功しない問題です。これはplaywright_google_oauth_blockedという私が経験した具体的な失敗事例です。
Playwright経由でGoogleアカウントを使ったInstagramログインを試みると、Google側から「このブラウザまたはアプリは安全でない可能性があります」という警告が表示され、ログインが100%拒否されてしまうのです。この問題に、私は約3週間もの時間を費やし試行錯誤を繰り返しました。Playwrightのバージョンアップ、異なる起動オプションの試行、User-Agentの偽装など、あらゆる手を尽くしましたが、解決には至りませんでした。
結局、この問題は「Playwrightのような自動化ツールからのGoogle OAuth認証は、セキュリティ上の理由からGoogleによってブロックされる傾向にある」という結論に達しました。解決策として、Google OAuthを諦め、InstagramのIDとパスワードによる直接認証方式に切り替えるしかありませんでした。この3週間は、開発時間という貴重なリソースを無駄にした形となり、精神的なストレスも大きかったです。しかし、この失敗から「セキュリティ関連の認証は、自動化ツールとの相性を慎重に見極める必要がある」という重要な教訓を得ることができました。
個人開発SaaSを継続するための思考法と次なる一歩
GramShiftを一人で開発し、運用を続ける中で、最も大切なのは「継続すること」だと痛感しています。最初のMVPをリリースした後も、ユーザーからのフィードバックを元に機能改善を続けました。例えば、meta_detection_2026_05_16でのInstagramからの自動化検知警告を受け、GramShift v1.5.0ではHuman-Pacingのアルゴリズムをさらに改良し、サイクル間隔のランダム化やいいね数上限の見直しを行いました。
また、GramShiftだけでなく、私はParallelIncomeWorker W2やai-pick 記事自動生成、バックアップシステムなど、複数の自動化Workerを並行して運用しています。これらの経験を通じて、技術的な課題解決能力だけでなく、プロジェクト管理能力や問題解決能力も磨かれていきます。個人開発は孤独な作業ですが、自分の作ったものが誰かの役に立つ喜びは、何物にも代えがたいモチベーションとなります。
GramShiftは現在、自動いいね、自動フォロー、競合フォロワーターゲティング、AIハッシュタグ提案などの機能を提供し、Instagram運用を効率化したい個人やビジネスをサポートしています。私はこれからも、ユーザーの声に耳を傾け、より良いサービスを提供するために開発を続けていきます。
個人開発SaaSに興味を持った方は、GramShiftの3日間無料体験をお試しください。また、AIツールの情報やプロンプト集は、兄弟サイトのai-pick.techやprompts.ai-pick.techで公開しています。