朝いちばんに補助金の告知ページを何個も開いて、更新があるかどうかを目で確認する。ここ数年、そんな作業を毎朝どこかで続けていました。制作のスケジュールが詰まっている日ほど、この「見るだけの作業」が地味に重くのしかかります。映像制作やAI活用支援の仕事をしていると、こうした細々とした確認業務は本来の仕事の合間に押し込むしかなく、優先順位はどうしても後ろに回りがちです。今回は、その手作業をClaude Codeとlaunchdで自動化した、個人開発の記録を書いておきます。
手作業のチェックがなぜ続かないのか
補助金や助成金の情報は、行政や商工会議所など複数のサイトに分散していて、更新のタイミングもバラバラです。毎朝すべてのページを開いて「昨日と何か変わったか」を見比べる作業は、単純なようでいて集中力を使います。撮影や編集の予定が入っている日は後回しになり、気づけば数日分まとめてチェックする羽目になる。そのうち「見た気になっているだけ」で、実際は見落としているのではという不安がつきまとうようになりました。人が毎日同じ手順を繰り返すタスクは、忙しさに応じて確実に精度が落ちる、というのがこの一年で実感したことです。
Claude Codeとlaunchdで作った小さな仕組み
そこで作ったのが、subsidy-watchという名前の小さなプロジェクトです。仕組みはシンプルで、決まった時刻に自動で起動し、その時点の情報をまとめてダッシュボード用のHTMLファイルに書き出すだけ。実行のたびにログファイルも残すようにしたので、「今日はちゃんと動いたか」を後から確認できます。
実装はClaude Codeに相談しながら少しずつ進めました。一気に完成形を作るのではなく、ほぼ毎日1回だけセッションを開いて、動作確認をしたりログの出力を整えたり、小さな修正を積み重ねるやり方です。個人開発は業務の合間に触るものなので、この「毎日ちょっとだけ」のペースが自分には合っていると感じています。誰かに納品するアプリではないからこそ、完成度よりも「今日も動いた」を積み重ねることを優先しました。
cronではなくlaunchdを選んだ理由と実際の癖
定期実行というとcronを思い浮かべる方も多いと思いますが、macOSではlaunchdを使うのが素直です。plistファイルに実行時刻とスクリプトのパスを書いておけば、あとはOSが起動を管理してくれます。
ただし実際に運用してみると、思ったより素直に動かない日もありました。基本は朝6時前後に走るように設定していますが、記録を見返すと正午近くまでずれ込んだ日が何度かあります。前夜にマシンをスリープさせていたか、起動していたタイミングかで結果が変わるためで、「決めた時刻に必ず動く」とは考えず、「動かなかった日があってもログを見ればすぐわかる」状態を目指す方が現実的だと感じました。完璧な定時実行を求めるより、ずれを前提にした設計のほうが個人開発には向いていると思います。
事業者が自分で同じ仕組みを作るときに押さえたいこと
- 最初から高機能を狙わず、まずは「情報を一覧化して書き出すだけ」の最小構成から始める
- 実行のたびにログを残し、動いたかどうかを毎回確認できるようにしておく
- 定期実行はマシンの起動・スリープ状態に左右されると割り切り、ずれても致命的にならない設計にする
- キリのいいところでこまめにコミットしておく。自分自身、日々の自動化ツール開発でコミットを溜め込みがちで、あとから「どこまで進んだか」を追いにくくなった経験があります
大がかりなシステムを一気に作ろうとすると、途中で息切れしてしまいます。毎朝の見るだけの作業をひとつ手放せた、というくらいの小さな成功体験を積み重ねる方が、結果的に長く使える仕組みになる気がしています。同じような細々としたチェック業務は、映像制作以外の現場にもきっとたくさん眠っているはずです。
同じような自動化やAI活用の仕組みづくりにご興味があれば、お問い合わせからお気軽にご相談ください。
この記事を1枚で(グラレコ)
