このサイトには一部広告が含まれています

AIと一緒に半年かけて地域情報サイトを個人開発した記録|くまのごとを作るまで

この記事は約12分で読めます。

2026年2月に「くまのごと」という地域情報サイトを公開しました。

自分で言うのも何ですが(というより自分で言うしかない)、イベント・街のできごと・募集を1カ所に集めたとてもとてーも便利なサイトです。一番のヘビーユーザーはきっと間違いなくこの私です。

開発を始めたのは2025年9月。約半年かけてWordPressをベースに昔ながらのLAMP環境で、AIやMake、Apifyなどを組み合わせながら個人開発しました。公開後もゆるゆると改修を続けています。

この記事では細かい作成方法ではなく、

  • AIを使って個人でどこまで作れるのか
  • 実際にはどんな仕組みで動いているのか
  • AIに任せきりなのか、人間はただサボっているだけなのか
  • 運用後に気付いたことや失敗したこと

このあたりのことをまとめていきます。

同じような地域情報サイトを作ってみたい人はもちろん、すでにローカルメディアを運営していて「情報収集しんどいな…」となっている人にも、何かしら参考になる部分があれば幸いです。

改めて、くまのごとってどんなサイト?

くまのごとは、三重県熊野市周辺のイベント・街のできごと・募集をまとめた地域情報サイトです。

「くまのごと」のトップページ。今日・明日のイベントや今月の予定、天気などをスマホでまとめて確認できます。

仕組み・機能をざっくり言うと、

  • Instagram・Webサイト・投稿フォームから情報を取得
  • AIで情報を分類・整形してWordPressへ下書き
  • イベント・できごと・募集をWordPressのカスタム投稿タイプで管理
  • 今日・明日・今月のイベントを開催日ごとに整理して表示
  • お気に入り・投票・プッシュ通知
  • 天気・警報・地震・台風・クマ出没情報などのAPI連携
  • 最後の公開判断は人間

コード量の推移

言語公開時点/2026.2.2今現在/2026.10.9
PHP10,712行31,872行
JS2,761行4,612行
CSS1,605行2,361行

実装の大部分はAIです。もしこれを全部自分で書けと言われたら、間違いなく途中であっさりと投げ出していたことでしょう。。

作りたかったのは「地域情報を一カ所で見られる場所」

最初にやりたかったことはシンプルでした。

Instagram、Webサイト、紙のチラシやポスターなど、あちこちに散らばっている地域情報を一カ所に集めること。

「今日どこかでイベントやってないかな」と思ったときに、いちいち複数のSNSやサイトを見て回ったりしなくて済むように(主に自分が)

ただ、実際に運営してみると、単純に「情報をたくさん集めれば便利になる」という話でもなかったわけで・・

この話はまた後ほど。

情報を集めてWordPressへ下書きするまで

現在はInstagramの約50アカウント、ウェブサイトのフィード6〜7件ほどを主な情報源にしています。

Makeを1日1回動かし、InstagramについてはApifyを使って登録済みのアカウントを巡回。

Makeで運用しているシナリオ一覧。Instagram、Web・RSS、WordPressへの下書き作成など、処理ごとに分けています。

取得した投稿はAIで「イベント」「できごと」「募集」などに振り分け、WordPressへ下書き投稿します。

記事本文についてはGeminiでくまのごと構文にリライト。WordPress側にリライトボタンを実装し、クリックの度にGemini APIを叩く仕組みです。

そして、最終的に僕が中身を確認して公開します。

流れとしてはこんな感じです。

Instagram・Webなどから情報取得
↓
AIで分類
↓
WordPressへ下書き
↓
Geminiで本文を整える
↓
人間が確認して公開

InstagramやWebサイトなどから情報を取得し、AIで分類・整形してWordPressへ下書き。最後は人間が確認して公開します。(AIに作らせたらベタなキャッチコピーまで入れてくれました)

月300件ほど取得、実際に掲載するのは3分の1くらい

現在は月にだいたい300件ほどの情報を取得しています。そこから無関係の投稿を除いて、最終的に公開するのは3分の1程度です。

「最後に人間が見る」工程は今のところ外せないと思っています。ただ、だいぶデータも集まってきたので、この振り分けもいずれAIで自動化できそうです。

何も問題がなければ、下書き1件の確認は1分もかかりません。

WordPressには下書きとして登録。本文や開催日・時間などのカスタムフィールドを確認し、問題がなければ公開します。

厄介なのは情報が足りない場合。開催時間や会場など必要な情報が入ってないときは、元投稿を見直したり、自分で検索したりして補います。画像が取得できていない場合も手作業。

こうなると一気に作業時間が延びます。

チラシ画像だけの投稿はOCRで対応

Instagramの投稿で一番困るのが、本文なしでイベントチラシの画像だけをアップされている場合。本文から情報を拾っているので、これでは何一つ必要情報が得られません。

最初はオンラインのOCRツールを使って文字に変換後、ひたすらコピペを繰り返し補完していました。

さすがに毎度はしんどいので、Makeのシナリオ内でOCRも処理するようにしました。Instagramの本文に加え、画像から読み取ったテキストもWordPressの下書きに送っています。

こんなふうに、

人間が面倒だと感じる→ 自動化できないか考える→ AIと相談しながら追加する

を公開後もずっと繰り返しています。

公開してからようやく、AI活用が本格化したとも言えるかもしれません。

その経験を踏まえて、これから作成する人に伝えたいのは、最初から完璧な仕組みを作る必要はないということです(というか無理)

でもこれがなかなか難しかったりするんですよね。。

AIに任せられたこと、人間がやること

コードを書くのは、ほぼAI任せ

内部処理については、人間がコードを書く必要はほとんどないと感じました。「こういう条件でこうしたい」と伝えれば、AIがちゃんとテスト・実装してくれます。

HTMLとCSSの基本的な知識さえあれば、同じようなものは十分に作れると思います。まったくの未経験でもAIをフル活用すれば作れないことはないでしょうが、安全に使えるかはまた別問題です。

CodexとApify・Makeを連携しておけば、エラーが起きた場合も、Codexに一言お願いするだけで原因調査→修正→更新までやってもらえます。

UIデザインは思いどおりにいかなかった

一方で、AI任せでは難しかったのがUIデザイン。Google Stitchなども試してみましたが、なかなか理想どおりにはなりませんでした。

ネイティブネストや変数などのモダンなCSSはばっちり書いてくれますが、UI/UXについてはまだまだ人間がやるべき領域だと感じました。

あとはライティングも。ボタン文言、見出し、説明文、注意書きなどは何度書かせてもAIっぽい不自然さがにじみ出てしまいます。

僕自身、画面を見ながら何度も微調整を重ねました。

情報源探しや初期設定も人間側でやる

情報源を決めるのも人間の仕事です。どのInstagramアカウントを取得対象にするかは、自分で見て回る必要があります。

MakeやApify等のツールへの登録や初期設定も然りです。今ならブラウザ操作のできるAIエージェントに任せることもできるのかもしれませんが、個人的にはちょっと怖いと感じます。

技術スタックと使ったツール

AIを使った個人開発ではNext.jsやSupabaseなどをよく見かけますが、くまのごとでは一切使っておりません(というより使えない)。WordPressを中心とした昔ながらのLAMP系構成です。

この規模のウェブサービスであれば、最新技術を使わなくても十分作れます。

使用した技術・サービスとそれぞれの役割をまとめます。

分類使用技術・サービス主な役割
インフラ・DB共有レンタルサーバー、MariaDBサイトの稼働とデータの保存
フロントエンドHTML / CSS / JavaScript各種UIの実装
バックエンド・CMSWordPress / PHPコンテンツ管理、独自機能の実装
情報収集・自動化Apify / Make / Google Cloud Vision API情報取得、画像OCR、分類、下書き登録
AIGemini API記事本文のリライト
開発環境VS Code / Codex / SSHコードの作成・修正、エラー調査、サーバー反映

こうして並べると色々使っていますが、基本的には情報収集・自動化はMakeとApify、コンテンツの管理と表示はWordPress、コーディングはCodexという役割分担です。

ツールごとの役割と費用

中心になったのは次のツールです。

ツール月コスト主な役割
WordPress無料コンテンツ管理
Apify無料Web・Instagramからの情報取得
Make12ドルRSS取得、分類、データ整形、WordPressへの下書き投稿など
Gemini無料記事本文のリライト
Google Vision無料画像OCR
Codex3,000円
※他案件でも使用
コーディング、エラー調査・修正
Webpushr無料プッシュ通知
Clarity無料ヒートマップ解析
Google Cloud Text-to-Speech無料今日のイベントの音声読み上げ

運営費は思ったよりかかっていない

くまのごとのためだけに毎月払っているものはドメイン代とMakeのみです。

ドメイン代は月換算で200円弱。Makeは月12ドルほど。

サーバーは他のサイトとも共用しているので除外。Codexも他の案件でも使っているため同じく除外。

Apifyについては5ドルの無料枠内で収まっています。なので、このサイト単体で考えると運営コストはかなり低いです。

収益化しないと維持できないというプレッシャーもありません。こうしたら収益につながるかな、というアイデア自体は色々ありますが、今のところは趣味の延長として気楽に運営しています。

別にお金にならなかったからといって「もうやーめた」となるほどのコストでもない。これは個人運営では結構大きい気がします。

公開までの半年間を振り返る

開発期間:2025年9月~2026年2月
  • 2025年9月
    構想がまとまる
    • スクレイピング方法やAIツールを調べ続ける。MakeとApifyにたどり着く。
    • ApifyのCheerio Scraperを触り始めるものの、Makeの配列集約や差分取得で盛大に詰まる
  • 2025年10月
    ひたすらMakeをいじる
    • MakeからWordPressへの下書き投稿に成功
    • ウェブサイトから情報を取得するシナリオも完成し、サイトの形が少し見え始めてくる
  • 2025年11月
    テンプレートを作り始める
    • Instagramからの取得シナリオが完成
    • ブラウザ版ClaudeでWordPressのテンプレートを作り始める
      CSSもJSもPHPの処理もとりあえず全部テンプレートに書いてあとで分ければいい、と考えるがこれが後の大失敗の素になる
    • 投稿フォームもこの頃に完成。画像OCRに対応するため、MakeへWebhookで送る形に落ち着く。
  • 2025年12月
    コード整理&Codexに切り替える
    • テンプレート内のCSS・JavaScript・PHP外部化を始めるが盛大に詰まる
    • ブラウザ版ChatGPTからCodexに切り替える。ファイルを毎回アップロードして説明する手間からようやく解放される

    複数のCSSやJSを切り分けたり結合したりすると、あるページでは正常なのに別のページではレイアウトが崩れる。

    ところがコード量が多すぎて、どこが抜けたのか目視ではもはや分からない。こうなると人間がコードを追うのはかなり厳しい。

  • 2026年1月
    細かな機能を追加する
    • お気に入りボタン、人気ランキング、今日・明日のイベント、音声読み上げ、PWAなどを実装
    • VS CodeからSSH経由でサーバーへ同期する仕組みも導入
  • 2026年2月
    引き続き細かな機能を追加する
    • サイトフィードバック、終了イベント投票、申し込み締切表示、参加イベントの前日リマインド、レコメンドなどを追加
    • 暦、天気、警報、アメダス、クマ出没情報などをAPIから取得
    • 2月2日にようやく公開

ここからはみんな大好き失敗談のコーナー

最初にもっと入力項目を詰めておけばよかった

イベントなら、

駐車場、対象者、申込期限……

など、後から欲しくなる項目が色々あります。

作りながら「やっぱりこれも必要だな」と追加していったため、運用側にも影響が出ました。

今から作るなら、最初の段階でたっぷりと時間をかけて検討すると思います。とはいえ、結局は始めてみないと分からないことも多々あるので、難しいところではあります。

このあたりはAIもほとんど頼りになりません。

使ってほしいようには使ってもらえない

よくよく考えれば当たり前のことなんですが、実際に運用するまで僕はそのことにさえ気付けませんでした。

自分では分かりやすく作ったつもりでも、思うようには使ってもらえません。例えば、くまのごとには1カ月分のイベントを一覧で見られるカレンダーページがあります。

それでも「1カ月まとめて見られたらいいのに」と言われることがあります。存在に気付いてもらえていないなら、ないのと同じなんですよね。

これはくまのごと自体にも言えることです。便利だからといって、気付いてもらえるわけじゃない。気付いてもらえたからといって、必ずしも便利だと思ってもらえるわけじゃない。

サービスを広めることの難しさを痛感する今日この頃です。

情報は多ければ多いほどいい……わけではなかった

最初はイベント情報から始めました。

その後、「もっと情報があった方が便利だろう」と、街のできごと、募集など少しずつ範囲を広げていきました。

ところが増やせば増やすほど、今度は情報が埋もれ始めます。SNSで情報が流れてしまうのが嫌で作ったのに、自分のサイトまでごちゃごちゃしてきた。

いったい僕は何をやってるんでしょう。

現在よく見られているのは、イベント、営業日カレンダー、開店・閉店、セール、新メニューなどの情報。

イベント、できごと、募集という大きな分類自体は残しつつ、「できごと」の中身はもう少し整理していこうと考えています。

イベントについても掲載数はそのままに、一度に見せる情報を減らす方向で調整中です。

ログイン機能はないのであくまで簡易的なパーソナライズにはなりますが「子連れで行ける」「申込不要で行ける」「一人でも参加しやすい」など、最初からその人に合ったイベントに絞れたらいいなと。

掲載する側との関係も考え直している

運営において、もう一つ難しい問題がありました。

掲載許可です。

新聞社や地域メディアなど、一部の情報源については事前に掲載の連絡をしていました。ただ、個人店など一件一件には連絡していませんでした。

すると、良かれと思って掲載した情報について、後から「掲載しないでほしい」と連絡をいただくこともありました。

すべての店舗や主催者、はたまた投稿ごとに事前確認を取るとなると、運営の負担が一気に増えます。それを個人でやるのはまったく現実的ではありません。

そこで最近考えているのが、「情報を送ってもらう」形に切り替えること。

すでに投稿フォームはあります。#くまのごとのハッシュタグを付ければ自動掲載される仕組みもあります。問題は、まだまだそれらを広められていないこと。

主催者や店舗自身に投稿してもらえれば、掲載の意思は確認しやすくなるし、情報を探し回る負担も減ります。

こんなふうに一方的に情報を集めて並べるサイトから、少しずつ「情報が寄せ集まってくる場所」に変えていけたらいいなと思っています。それっぽく言うならプラットフォームとかハブといったところでしょうか。

作り終えて思ったこと

AIと半年間、伴走し終えて思ったこと。

それは「アイデアさえあれば一人でも何とかなる」でした。

裏を返せば、技術だけではもうどうにもならないということでもあります。

僕自身、ウェブ制作を始めて10年になりますが、これまでのやり方では持ってあと数年だろうなと正直思っています。

そのぐらいAIの進歩が早すぎるんですよね・・泣

地域情報サイトは前からずっと作ってみたかったのですが、スクレイピング等の技術的な理由で実現できずにいました。そこにAIの登場です。まさに魔法を手にした気分でした。

でも、AIに任せられるのは下準備まで。

考え続けるという人間の役目はこれからもずっと変わりません。

コメント欄

タイトルとURLをコピーしました