HubSpotを卒業する|ひとり事業主のためのCRM自作ガイド・月6,000円を浮かせる4ステップ
HubSpot Starterの請求書を見て、機能の8割を使っていないことに気づいたことがあるだろうか。
月6,000円。年間で72,000円。3年使えば216,000円。それだけのお金を払って、実際に触っているのは顧客リストとメモ欄とパイプラインくらい、という人は多い。レポート機能もワークフローも、無料トライアルのときに一度触って、それきり開いていない。
CRM(顧客管理システム)というのは、ひとり事業主にとって不思議な買い物だ。必要なのは確かだ。連絡先を管理しないと仕事は回らない。だがSaaS(月額制ソフトウェア)の価格は、20人のチームでも200人の企業でも使える前提で作られている。ひとりで使うには明らかに重い。
この記事では、HubSpotやSalesforceから卒業して、自分専用の最小CRMに乗り換える手順を書く。使うのはSupabase(データを保存する無料のサービス)とClaude Code(AIにコードを書いてもらう道具)。技術者でなくても、週末2日で動くものができる。月6,000円が0円になり、しかも自分の業務にぴったり合う。そういう話だ。
この記事の前提
この記事は、HubSpotやSalesforceの月額費用が重いと感じている個人事業主に向けて書いている。
想定しているのは、年商数百万から数千万円のレンジで、顧客数が数十から数百、営業活動は自分一人でやっている、そんな規模の事業者だ。チームで使うCRMの話ではない。
スタンスははっきりさせておく。大企業がHubSpotを使うのは正しい。複数人でパイプラインを共有し、マーケティングオートメーションを組み、レポートを役員に見せる必要があるからだ。だがひとり事業主には、その9割が過剰だ。過剰なものにお金を払い続けるより、必要な1割を自分で作るほうが、結果として事業の足腰が強くなる。
技術用語はできるだけ噛み砕いて書く。コードの行が出てきても、写経できれば動くレベルにとどめる。読みながら「自分にもできそうだ」と思ってもらえたら、この記事の役割は果たせたことになる。
なぜ自作CRMという選択肢が現実的になったのか

図: 自作CRMを可能にした2つの要素
3年前なら、ひとり事業主に「CRMを自作しろ」とは言えなかった。データベースの設計、画面の実装、認証、デプロイ。全部やろうとしたら2ヶ月はかかる。その2ヶ月で本業のほうがまわらなくなる。
状況が変わったのは2つの理由による。
1つ目は、Supabaseのようなサービスが出てきたこと。これはデータベースと認証とAPI(外部サービスと繋ぐ窓口)が全部セットになった無料サービスだ。自分でサーバーを借りてセットアップする手間がない。ブラウザでポチポチやれば、10分でデータの置き場所ができる。
2つ目は、Claude Codeのような道具で、AIにコードを書かせられるようになったこと。テーブル設計を日本語で説明すれば、SQLが返ってくる。画面の仕様を箇条書きで伝えれば、動くページが出てくる。自分が書くのは指示と確認だけだ。
この2つが噛み合った結果、ひとり事業主がCRMを自作するコストは、週末2日分の時間まで下がった。月6,000円のサブスクを1年払うか、週末2日を投資するか。答えは人によるが、少なくとも選択肢にはなる。
営業活動に本当に必要な5機能
自作に踏み切る前に、自分が本当に必要としている機能を棚卸ししてほしい。これをやらずにHubSpotの全機能を再現しようとすると、永遠に終わらない。
私が個人事業主の知人たちと話してわかったのは、ひとりで回している事業で実際に使うのは、次の5つだけということだ。
- 顧客の連絡先と基本情報の保管
- やりとりの履歴のメモ
- 商談のステータス管理(見込み・提案中・受注・失注)
- 次のアクションのリマインド
- 月ごとの売上と受注数の集計
この5つ以外は、あれば便利だが、なくても困らない。メール一斉配信はConvertKitのような別サービスのほうが優れている。レポートは月1回スプレッドシートに吐き出せば十分だ。ワークフローの自動化は、最初のうちは人間がやったほうが速い。
HubSpotを使っている人は、一度自分のアカウントを開いて、過去30日に触った機能だけをメモしてみてほしい。おそらく上の5つに収まっている。
参考になる事例
ひとりから始めて大きくなった海外サービスの話を2つ紹介する。自作の勇気をもらうための話として読んでほしい。
ConvertKit(1人から始まった年商数十億円のメール配信サービス)
ConvertKitはNathan Barryという個人が2013年に立ち上げたメール配信サービスだ。最初はたった1人で、月商も数百ドルだった。既存のMailChimpを使っていたが、ブロガー向けに足りない機能があると感じて、自分で作り始めた。
面白いのは、彼が最初から大規模な開発をしたわけではないことだ。最小限の機能で立ち上げ、ユーザーの声を聞きながら3年かけて育てた。現在は年商数十億円規模まで成長している。
この話の教訓は、自分が毎日使う道具を、自分の必要に合わせて作ることには大きな価値があるということだ。ひとり事業主が自作するCRMも、同じ構造を持っている。汎用のSaaSが取りこぼしている自分固有のニーズに、ぴったり合わせられる。
GrowthBar(マーケター出身者がひとりで育てたSEO道具)
GrowthBarはMark Spera氏がマーケター視点で作ったSEO分析ツールだ。本人はエンジニア出身ではなく、マーケティングの現場でツール不足を感じていた人物だった。外部の開発パートナーと組みながら、少しずつ機能を育て、最終的に売却に至った。
この事例が示すのは、使う側が作る側に回る強さだ。毎日触っている業務の痛点は、使っている本人が一番よく知っている。CRMも同じで、営業活動を毎日やっている当事者が設計すると、余計な機能が削ぎ落とされて、本当に使うものだけが残る。
4ステップで進める移行手順

図: 週末2日で進める移行手順
ここから実践的な話に入る。週末2日で終わらせる想定で、4つのステップに分ける。
ステップ1:必要な6つのテーブル設計
テーブルというのはデータを入れる箱のことだ。Excelのシート1枚に相当すると思ってもらえばいい。必要なのは次の6つ。
- companies(取引先の会社情報)
- contacts(担当者の連絡先)
- deals(商談の一覧とステータス)
- activities(やりとりの履歴)
- tasks(次にやるべきことのメモ)
- tags(顧客を分類するためのラベル)
それぞれに持たせる項目は、最小限にする。companiesなら、会社名・業種・規模・メモ。それだけだ。住所や電話番号は、contactsのほうに担当者単位で持たせる。
Supabaseにログインして新しいプロジェクトを作ったら、次のようなSQL(データベースへの命令文)を流す。全部書くと長いので、companiesテーブルだけ例を出す。
create table companies (
id uuid primary key default gen_random_uuid(),
name text not null,
industry text,
size text,
notes text,
created_at timestamp with time zone default now()
);
残りの5つのテーブルも、同じ要領で作る。Claude Codeに「companiesと連携するcontactsテーブルを作って。会社IDで紐付けて。名前とメールと電話と役職を持たせて」と日本語で伝えれば、SQLを生成してくれる。
ステップ2:HubSpotからのデータ引っ越し
次に既存データの移行だ。ここが一番失敗しやすいので、慎重にやってほしい。
HubSpotの管理画面から、会社・担当者・商談・活動履歴の4種類をCSV(表形式のファイル)で書き出す。このとき、項目を全部チェックして書き出すのではなく、自作CRMで使う項目だけに絞る。使わない項目まで持ってくると、後で整理するのが地獄になる。
書き出したCSVは、一度Googleスプレッドシートで開いて、目視で確認する。文字化けがないか、日付のフォーマットが崩れていないか、重複がないか。私の知っているある人は、この確認を飛ばして移行を進めた結果、重複データが3,000件混入して、1日かけて手作業で消す羽目になった。
確認が終わったら、SupabaseのTable Editorで直接インポートする。小規模なら数百件から数千件程度なので、CSVアップロード機能で十分間に合う。
ステップ3:画面を作る
データが入ったら、次は画面だ。ここでClaude Codeの出番になる。
Next.js(ウェブサイトを作る道具)で簡単な管理画面を作る指示を、Claude Codeに出す。プロンプトの例を書いておく。
Supabaseに接続して、companiesテーブルの一覧を表示するページを作って。会社名・業種・規模の3列で、検索ボックスを上につけて。クリックしたら詳細ページに飛ぶようにして。詳細ページでは、その会社に紐づくcontactsとdealsとactivitiesを下に表示して。
これだけで、Claude Codeは数分でコードを吐き出してくる。動かないところがあれば、エラー画面をそのままコピペして貼り付ければ、修正してくれる。
画面は凝らなくていい。白地に黒文字、ボタンは四角、くらいの素朴なデザインで十分だ。自分しか使わないので、見た目に時間をかけるのは無駄になる。
ステップ4:Vercelで公開して日常運用に乗せる
最後はデプロイ(公開)だ。Vercelというサービスに繋げば、無料で公開できる。
ここで大事なのは、認証を必ずかけること。Supabase Authを使えば、メールアドレスとパスワードでのログインが10分でつく。自分しか使わないからといって、認証なしでネット上に公開すると、顧客情報が全世界に漏れる。これだけは絶対にやってはいけない。
運用に乗せるときは、1週間ほどHubSpotと並行で使う。新しい商談を両方に入れて、自作CRMに違和感がないか確認する。問題がなければHubSpotを解約する。解約のタイミングは、月末締めのサイクルを意識して、1日でも早く停めると数千円の節約になる。
よくある失敗・落とし穴
自作CRMに乗り換えるときに、ひとり事業主が陥りがちな失敗を5つ書いておく。
1つ目は、作り込みすぎること。最初から全機能を揃えようとすると、永遠に完成しない。見込み客一覧と商談ステータスだけで動かし始めて、足りないものは後から足す。この順番を守ってほしい。
2つ目は、バックアップを取らないこと。Supabaseは信頼性が高いが、自分の操作ミスでテーブルを消すことはある。週1回、CSVで書き出してGoogle Driveに置く習慣をつけたい。自動化は後回しでよい。最初は手動で十分だ。
3つ目は、パスワードを甘く設定すること。顧客情報を扱う以上、認証は厳格にする。16文字以上のランダムな文字列を使い、1Password(パスワード管理ソフト)で保管する。この手間を惜しむと、ある日取り返しがつかなくなる。
4つ目は、HubSpotの解約を焦ること。並行運用の期間は最低1週間、できれば2週間取ってほしい。本番の商談データが飛んだら、売上に直撃する。月6,000円をケチって数十万円の機会損失を出したら本末転倒だ。
5つ目は、Claude Codeの出力を信じすぎること。生成されたコードは必ず自分で動かして確認する。特にデータを削除するような操作は、テスト用のダミーデータで一度試してから本番に流す。ここを怠ると、顧客リストが一瞬で消える事故が起きる。
コスト削減の実際の数字

図: HubSpot vs 自作CRM(3年間)
HubSpot Starterは月6,000円前後、年72,000円。Salesforceはもっと高く、最小構成でも月3,000円から、実用的に使おうとすると月10,000円以上かかる。
自作CRMの運用コストは、Supabase無料枠とVercel無料枠の範囲なら0円だ。顧客数が数千件、月間操作が数万回の規模までは、無料枠に収まる。ひとり事業主の通常運用ではまず超えない。
仮に3年間自作CRMを使い続けたとすると、216,000円の節約になる。この金額は、広告費に回せば新規顧客が何件取れるか、採用に回せば業務委託の人を何時間雇えるか、そう考えると小さくない。
加えて、自作の副次効果として、自分の営業プロセスが可視化されるというメリットもある。SaaSに載っているテンプレに業務を合わせるのではなく、自分の業務に合わせて道具を作ると、無駄な手順に気づく。私の知っているある個人事業主は、自作の過程で営業フローを見直した結果、受注までの平均日数が3割短くなった。
明日からやる3つのこと
ここまで読んで、やってみようと思った人のために、明日からの3ステップを置いておく。
HubSpotで過去30日に触った機能をメモする。本当に使っているものだけを紙に書き出し、自作CRMの要件を固める。ここに1時間かける。
Supabaseに無料登録してプロジェクトを作る。テーブル1つだけでいいので、companiesテーブルを作って、自分の会社情報を1件入れてみる。ここに1時間。
Claude Codeに「Supabaseのcompaniesテーブルを一覧表示するNext.jsのページを作って」と指示して、動かしてみる。ここに2時間。
合計4時間。この4時間で、自作CRMが自分にとって現実的かどうかがわかる。いけそうだと感じたら、次の週末にステップ2から4まで進めればいい。
月6,000円の呪いは、気づかないうちに事業の体力を削っていく。年単位で見れば、その金額で新しい挑戦ができる。週末2日の投資で、3年間の自由を取り戻す。その選択肢が、いまのひとり事業主には開かれている。




