GolfShinは何をするサービスなのか
GolfShinは予約照会・天気情報・チャットボットの三つを中心機能とするゴルフティータイム予約照会サービスです。国内ゴルフ場34カ所の予約ページを毎時間自動で確認し、空き枠を一箇所にまとめて表示します。Next.jsとSupabaseで作り、Vercelにデプロイしています。
核心はチャットボットです。Telegramで@golfshinbotを開き、希望のゴルフ場・日付・時間帯を/watchで登録すると、条件に合う空き枠が出た瞬間に通知が届きます。ログインも不要で無料です。
34個のスクレイパーを保守するとはどういうことか
ゴルフ場ごとに予約システムがすべて異なります。あるところは一般的なREST APIを使い、あるところはSPAで作られていてレンダリングを再現しなければならず、あるところはセッションクッキーとログインフローから個別に突破する必要があります。そのためサイトの数だけ、34個のスクレイパーを別々に作りました。
本当の保守はここから始まります。ゴルフ場が予約サイトをリニューアルすると、そのゴルフ場のスクレイパーだけがその場で止まります。実際にサイトのリニューアル対応でスクレイパーを複数同時に直さねばならなかったこともあります。サービスが生きている限り、この保守は終わりません。
一人で自動化を作ることは何を変えるのか
数年前であれば、複数の外部サイトをスクレイピングし条件を監視してリアルタイムで通知を送るこの程度の自動化には、開発チームが一つ必要だったはずです。今はこのサービス全体を一人で作り、運営しています。
変わったのはコーディングの速度だけではありません。実際に最も時間がかかるのは、コードを書くことよりも、どのゴルフ場を先に対応するか、どのリニューアル対応を先にするかという判断です。AXが変える地点は結局ここにあります——手を動かす時間が減り、判断する時間の比重が大きくなること。