開発の話

katazukuの開発設計:なぜデータの正本を、自分のPCに置くのか

就活の情報を一つのSQLiteにまとめ、アプリは見る窓にする。公開コードにある設計と、その理由を紹介します。

Kotaro Design Lab.編集・制作にAIを使用

katazukuは個人の就活プロジェクトから、他の人も使える中核を切り出したオープンソースです。設計の中心にあるのは、自分のPCに置く一つのデータベースと、そこから情報を読むアプリです。

「どれが最新か」を迷わないための正本

メール、表計算、カレンダー、メモに同じ予定があると、更新するたびに食い違う可能性があります。katazukuではローカルSQLiteを正本とし、閲覧アプリへはその状態を書き出したスナップショットを渡します。

閲覧アプリごとに別々の正解を持たせず、同じ情報を見る設計です。画面の都合で選考状況が書き変わることを防ぐため、状態の変更は共通の処理にまとめています。

便利さの前に、戻って確認できること

選考状況が変わった理由、予定の元になった情報、処理した履歴を残します。情報が曖昧なら、確定したように見せず確認待ちとして扱います。

同じメールや処理結果をもう一度受け取ったときに、同じ操作を重ねないための識別情報も使います。自動化は止まらないことだけでなく、止まった後に確認して再開できることも必要だからです。

スマホから見るときは、本人のクラウドへ

PC内だけで使う構成に、独自ドメインやCloudflareの契約は必要ありません。複数の端末から見たい場合には、自分のCloudflareへ閲覧用データを置く選択肢があります。

作者のアカウントへ全員分の就活情報を集める仕組みではありません。ただし、本人がクラウド連携を選べばデータはそのクラウドへ送られます。「ローカルファースト」は、何をしてもデータが外へ出ないという意味ではありません。

公開版と個人用の運用を、同じものにしない

個人用の認証情報、企業との実際のやり取り、録音、選考記録は公開パッケージに含めません。公開コードでは架空の入力を使い、個人情報の混入を調べる検査を設けています。

新しい画面や機能も、まず実際の利用に照らして改善し、他の人が再現できる形にして公開する方針です。見た目だけでなく、初回の導入や分からないときの戻り方も、その対象です。