「御社の決算書を見せてください」——あなたがブラック企業に転職しないための究極の一言【番外編】「ホワイト企業ナビ」開発プロセス
なぜ『ホワイト企業ナビ』は一回の操作で企業分析を完結できるのか?
『ホワイト企業ナビ』は、『OpenWork』の口コミスクリーンショットと『EDINET』の有価証券報告書を組み合わせ、企業分析を一度の操作で完結させるアプリだ。
分断されていた情報収集と判断の工程を一つの流れとして再設計した点に価値がある。アプリのインストールは不要で、ブラウザで動く。
『OpenWork』は社員口コミを確認できるサービスであり、『EDINET』は金融庁が提供する決算書閲覧システムであるが、通常は別々に確認する必要がある情報を、画像アップロードだけで横断的に扱えるようにしている。

分析処理を分解した設計思想
アプリの裏側では処理ごとに役割を分けたAPIを順番に動かしている。APIとは外部サービスからデータを取得する窓口のことで、人間の検索作業を自動化するための仕組みであり、処理は分業されている。
まず『Claude』が画像を読み取り企業名と口コミを抽出。これは画像や文章を理解して情報を取り出すAIであり、その後『EDINET API』が決算書を取得し、数値抽出と評価生成へと処理が進む。ユーザーは複数サイトを往復する必要がない。

技術構成をシンプルにした理由
Next.jsは画面と裏側の処理を一体で作れる仕組みであり、分析という連続した体験を分断せずに設計できる。したがって、ユーザーの操作と内部処理を自然に結びつけることができる。
また、Supabaseはログインとデータ保存をまとめて扱えるサービスである。メールリンクによるログインを採用することで入力の手間を減らし、さらに分析履歴を保存することで単発ではなく継続利用を前提とした設計にしている。

開発を難しくした本当の原因
最大の障壁はコードの難しさではなく、正しく作っても動かない状況が繰り返し発生したことだ。その原因の多くが、画像形式や検索条件のズレといった外部要因にあったため、問題の切り分けが開発の中心になった。
たとえば、iPhoneの画像はHEIC形式になることがあり、そのままではAIが読み取れないためJPEGに変換する処理を追加し、『EDINET API』でも検索期間や企業名の表記ゆれによって取得に失敗する問題があったため、条件の調整を行った。

安定動作を決めたエラー処理の設計
アプリの安定性を左右したのはエラー処理であり、レスポンス処理とはサーバーから返ってきた結果を受け取り次の動作に反映させる仕組みのことで、ここが曖昧だとユーザー体験が崩れる。
特に401検知処理が重要であり、401とはログイン切れを示すエラー番号であるため、これを検知してログイン画面に戻さないと操作不能な状態になるため、意図的に処理を分岐させる必要があった。

個人でもアプリはここまで作れる
今回の開発で明確になったのは、AIと最低限のプログラミング知識、そして作りたいという衝動と根気があれば、個人でも実用レベルのアプリを作れるという事実だ。特別なエンジニアでなくても形にできる時代に入っている。
筆者はExcel VBAベーシックの資格を持つが、Pythonは基本構文を学んだ程度であり、それでもアイデアから約1週間、実作業24時間で形にしている。
それほど時間はかかっていない。
作りたいものがあるなら、小さくてもいいから手を動かしてみてほしい。
応援しています!
いいなと思ったら応援しよう!
よろしければ応援お願いします! いただいたチップはクリエイターとしての活動費に使わせていただきます☺️