業務案件 / BtoB Web アプリ

商圏分析Webアプリ

出店判断を支える業務システムの、放置された不具合を解く

商圏分析Webアプリ

Overview

プロジェクト情報

開発期間

2026.07(約1ヶ月)

クライアント

非公開(BtoB 商圏分析サービス)

役割

フロントエンドエンジニア(不具合調査・改修)

チーム構成

フロントエンド2名 / バックエンド2名

Outline

概要

利用企業20社が出店判断・エリアマーケティングの意思決定に日常利用する商圏分析 Web アプリのフロントエンド改修。商圏データの絞り込みや比較を画面操作で行うシステムのため、操作性の不具合がそのまま分析作業の効率と、そこから導かれる出店判断の確度に影響する。現行運用中のアプリに対し、リリース当初から放置されていた既存不具合の調査・修正を担当した。

Objectives

目的・背景

開発背景

参画時点で、リリースから1〜2年放置されていた不具合が複数残っていた。いずれも「致命的ではない」「不正操作にはつながらない」という理由で対応が見送られてきたもの。不具合をコードの誤りとしてではなく、利用企業の業務にどんな影響を与えているかという観点で評価し直したうえで、着手する順序を判断した。

届けたいユーザー

利用企業20社の分析担当者。出店候補エリアの絞り込みや商圏比較を日常的に画面上で行うため、誤操作や操作のやり直しがそのまま作業効率と判断の確度に跳ね返る。「押したボタンが押せる」水準の操作信頼性を前提として担保することを重視した。

Key Features

主な特長

1

ブラウザサイズ依存のクリック不具合の調査・修正

縮小表示時のみ意図しない要素がクリックされる不具合を解消。原因は z-index の重なり順の考慮不足で、レイアウト変化によりチェックボックスがボタンより手前に配置されクリックを奪っていた。画面サイズに依存せず意図どおり操作できる状態にし、絞り込み作業中の誤操作とやり直しを防止した。

2

存在しないページで404が返らない不具合の原因特定と方針立案

生の Access Deny XML がそのまま表示され、ユーザーが障害か権限不足かを判断できない状態だった問題。ローカルと本番の挙動差分からインフラ層(CloudFront + S3)に原因を切り分け、CloudFront Functions と KVS で S3 到達前に 404 を返す構成を設計。実装フェーズに進められる状態まで整理した。

3

仮説を立ててから調査範囲を絞る Claude Code の使い方

丸投げせず、まず手動で再現条件を確認し「ブラウザサイズで JS の挙動は変わりにくい以上、CSS 起因だろう」と当たりをつけたうえで調査範囲を指定。結果、1〜2年原因不明だった不具合の原因特定に要した時間は約5分だった。

Tech Stack

技術スタック

Next.js 12 (Pages Router)React 16TypeScript 4RecoilCSS-in-JSAWS CloudFrontAmazon S3Claude Code

工夫したこと

不具合を「業務への影響」として評価し優先度を決めた

2つの不具合はいずれも長期間放置されていたが、「致命的ではないと判断され初回リリースから除外」「不正操作につながらないため見送り」と経緯が異なる。放置の背景と、実際に利用企業の業務・体験に生じている影響を突き合わせたうえで、対応要否と優先度を判断した。

生成AIには仮説を添えて渡す

再現検証と仮説立てを先に手動で行い、調査範囲をスタイル関連に絞ったうえで Claude Code に指示した。合わせて同じパターンが他画面に影響していないかまで調査させることで、絞り込みの精度と速度を両立させている。

ローカルと本番の挙動差分で切り分けてから深追いする

「ローカルでは再現しない」という事実を、追加調査に入る前の切り分け材料として使用。原因をアプリケーションコードではなくインフラ層に確定させ、不要なコード精査を避けた。

修正対象の画面単体で完結させず横展開まで含めて完了とする

z-index 起因の同種不具合が他画面に潜んでいないかを確認したうえで修正を完了。同じ原因による再発と潜在化を予防した。

Next Step

今後の展望

  • CloudFront Functions + KVS による 404 対応の実装フェーズ移行
  • 同種のレイヤー重なり起因の不具合に対する、レビュー観点としての横展開

Link

外部リンク