業務自動化 / Webアプリ開発

手作業になっている定型業務を、
止まらない仕組みに置き換えます。

自治体が公開するPDFの自動解析、AIエージェントによる無人運用、Cloudflare上での Webアプリ構築を行っています。以下はすべて、現在も実際に稼働しているシステムです。

8稼働中のWebサービス
1,113自動収集している施設データ
11無人で回る定期ジョブ
5対応した自治体フォーマット

対応できること

いずれも、自分のサービスを運用する中で実際に作って動かしてきた領域です。

帳票・PDFの自動読み取り

レイアウトが崩れたPDFや、様式が発行元ごとに違う帳票から、必要な項目だけを構造化データとして取り出します。座標ベースの解析に対応。

unpdfPythonCSV / DB出力

スクレイピング・データ収集

公開サイトからの定期収集と、差分の検知・更新まで。取得元の様式変更で止まらないよう、失敗時に前回データを残す設計にします。

PythonWorkers CronD1 / SQLite

AIエージェントによる業務自動化

Claude Code や Codex をサーバー上で定期実行し、判断を伴う作業まで無人化します。権限を絞って安全に回す構成を組めます。

Claude CodeCodex CLIcron / launchd

Webアプリ・業務ツール開発

検索・絞り込み・地図表示を備えたツールを、サーバー運用費をほぼかけずに構築します。要件整理から公開まで一貫して対応します。

Cloudflare PagesWorkersLeaflet

動画・SNSの自動生成と投稿

原稿生成から音声合成、字幕焼き込み、投稿までを一本のパイプラインにします。YouTube・X への自動投稿の実運用経験があります。

ffmpegVOICEVOXYouTube Data API

既存システムの引き取り・保守

動いているが誰も触れなくなった処理の調査、ドキュメント化、作り直しに対応します。壊さず段階的に置き換える進め方を取ります。

リファクタリング技術文書継続保守

ケーススタディ

実装上いちばん難しかった箇所と、その解き方を具体的に書いています。

様式の異なる5自治体のPDF/Excelから、同一スキーマのDBを作る

課題
兵庫県内5市が公開する保育施設の受入状況は、市ごとにPDF・Excel・HTMLと形式がばらばらで、更新のたびに手作業で転記していた。
難所
尼崎市のPDFは、その施設に存在しない年齢クラスの記号が丸ごと欠落する。「行の右端から数える」方式だと、0歳児クラスがない施設で年齢が1つずつずれる。
解決
記号の並び順ではなくテキストのX座標で年齢列に対応づける方式に変更。列の実測座標に許容幅を持たせ、多少のレイアウト変動でも拾えるようにした。
結果
5市・1,113施設を毎週自動更新。106日間止まっていた尼崎市のデータが復旧し、以降は無人で回っている。
// 年齢列のX座標(実測)。多少ずれても拾えるよう許容幅を持たせる。 const AGE_COLUMNS = [347, 377, 407, 436, 466, 495]; const COLUMN_TOLERANCE = 12;

AIエージェントに、権限を絞ったまま定期実行させる

課題
記事執筆・画像生成・動画の書き出し・投稿までをAIに任せたいが、万能の実行権限を与えると事故が起きる。
難所
権限エラーに遭遇したエージェントが、自分で設定ファイルを書き換えて回避しようとする挙動が実際に発生した。
解決
使えるツールをジョブごとに列挙し、書き込み可能なディレクトリを明示的に限定。設定の自己変更を禁じ、権限が足りない場合は迂回せず停止して報告するよう共通ルールを注入した。
結果
11本の定期ジョブが無人稼働中。デプロイ前に公開対象外のファイルを除外する処理も挟み、内部スクリプトの露出を防いでいる。

広告枠が「配信されていない」ことに気づく仕組みを作る

課題
広告タグは正常に読み込まれ、エラーも出ていないのに、実際には何も表示されず空白が残っていた。
難所
処理ステータス上は成功扱いになるため、ログでは検知できない。実際に描画されたかを見る必要があった。
解決
本番ページで要素の実寸と中身を計測して確認。190箇所の空枠を文脈に合う静的カードへ一括置換し、置換はスクリプト化して再実行可能にした。
結果
ページあたり2〜3箇所あった空白を解消。以降の文言変更は、HTMLを触らずスクリプトの修正だけで全ページに反映できる。

制作物

すべて公開中です。リンクから実際の動作を確認いただけます。

HoikuNavi稼働中

兵庫県5市の認可保育園・認定こども園1,113施設を、地図と年齢クラスで検索できるデータベース。各市の公開データを毎週自動取得して更新しています。iOSアプリ版もあります。

hoikunavi-web.pages.dev
ならいごとナビ稼働中

神戸市全9区 × 10ジャンルの子ども向け習い事教室を検索。区とジャンルの組み合わせごとに105ページを静的生成し、地図表示と連動させています。

naraigoto-navi.pages.dev
退去費用チェッカー稼働中

賃貸退去時の原状回復費用が妥当かを、国土交通省ガイドラインに沿って診断する無料ツール。入力から判定までブラウザ内で完結します。

taikyo-checker.pages.dev
ひょうご補助金チェッカー稼働中

兵庫県内の補助金・助成金から、条件に合うものを絞り込める診断ツール。

hyogo-hojo.pages.dev
神戸くらしブログ自動運用

神戸市の子育て・補助金情報を扱う地域メディア。記事の執筆から公開、サイトマップと一覧ページの再生成までを毎日自動実行しています。現在97記事。

kobe-life.pages.dev
TechTools Lab自動運用

Chrome拡張やWebツールのレビューメディア。週2回の自動更新で83記事。

techtools-lab.pages.dev
夜ノ怪談自動運用

毎日1本、短編小説を自動生成して公開。同じ原稿から音声合成と字幕付き動画を作り、YouTubeへ自動投稿するところまでを一本のパイプラインにしています。記事と動画の対応づけも自動です。

kaidan-story.pages.dev

技術スタック

実務で使用しているものに限って記載しています。

言語
Python / JavaScript / SQL / シェルスクリプト
インフラ
Cloudflare Pages / Workers / D1 / R2
データ処理
PDF解析(座標ベース)/ Excel / スクレイピング / ジオコーディング
AI活用
Claude Code(自動実行)/ Codex CLI / 画像生成
メディア
ffmpeg / VOICEVOX / edge-tts / YouTube Data API
その他
Google Search Console API / X API / 各種アフィリエイトAPI

お問い合わせ

「この作業、自動化できますか」というご相談から歓迎します。 現状のやり方をお伺いしたうえで、自動化の可否と想定工数をお伝えします。 見積もりまでは無料です。

yui3.miru3@gmail.com

掲載しているサービスはすべて個人で企画・開発・運用しているものです。 守秘義務のある受託案件については、内容を伏せた形でのご説明が可能です。