使っていないけど、捨てられないもの
使っていないけど、手放せないものがありました。
クローゼットの奥にある服とか、もう読まない本とか。
「いつか使うかも」と思って、ずっとそこにある。
私にとってそれは、自分で作ったアプリでした。
動くポートフォリオを残しておきたかった

去年の夏、パワハラの記録を管理するアプリを作りました。
AIが入力内容を診断してくれる機能もつけて、ログインもできて、データも保存される。
自分なりに一生懸命作った。
でも、使っている人は誰もいません。
それでも、消したくなかった。
「自分にはこれが作れます」という証拠。
面接のときに「動くものがあります」と見せられるように。
それがポートフォリオとしての価値でした。
問題は、このアプリがSupabaseというサービスの無料枠を1つ使っていること。
無料で使えるのは2プロジェクトまで。
もう1つは別のプロダクトで使っている。
新しく作りたいアプリがある。
でも枠がない。
「じゃあ、使ってないアプリの枠を空ければいい」
そう、頭ではわかっている。
でも「空ける」ということは「消す」か「引っ越す」か。
SupabaseからFirebaseへ、間取りが違う引っ越し

結局、引っ越すことにしました。
SupabaseからFirebaseへ。
別のサービスに移す。
調べてみると、これが意外と大変。
データベースの設計思想が違うから、そのまま移せない。
SQLという「表形式」のデータベースから、NoSQLという「ドキュメント形式」のデータベースに変わる。
住所は変わらないのに、部屋の間取りが全然違う引っ越し。
家具の配置を一から考え直す必要がある。
無料で使えるサービスを探すのも一苦労でした。
認証(ログイン機能)、データベース、ファイル保管、サーバー処理。
この4つが全部セットで無料のサービスって、ほとんどない。
「無料」って、制約の中でやりくりするということなんだと改めて感じました。
お金をかければ選択肢は広がる。
でも、誰も使っていないアプリにお金をかけるのは違う。
だから知恵を絞る。
従量課金のプランでも、使わなければ$0。
予算アラートを設定しておけば安心。
まだ引っ越しは終わっていません。
今日やったのは、新しい家の鍵を受け取って、間取りを決めたところ。
これから荷物を運ぶ作業が待っています。
19個のファイルに散らばっているコードを、一つずつ書き換えていく。
正直、面倒です。
でも、これをやることで、新しいアプリに枠が空く。
動くポートフォリオも残る。
技術記事のネタにもなる。
使っていないけど捨てられないものを、ちゃんと「使える状態」にしておく。
それは、過去の自分に敬意を払うことななんです。
「全部やった」のあとに残っているバグ

引っ越しが終わりました。
19個のファイルを書き換えて、9個のHTMLファイルも直して、セキュリティの設定もして。
途中、何度も「あ、動かない」を繰り返しました。
一番印象に残っているのは、「全部やった」と思った後に見つかるバグです。
ログイン画面を開いて、メールアドレスとパスワードを入力して、ログインボタンを押す。
一瞬だけダッシュボードが見えて、すぐにトップページに戻される。
何が起きているのかわからない。
ログインはできているはずなのに。
原因を追っていくと、見落としていた場所にありました。
HTMLファイルの中に、古いサービスの認証チェックが残っていたんです。
JavaScriptのファイルは全部書き換えたのに、HTMLの中に埋め込まれた小さなスクリプトを見逃していた。
もう一つ、面白い発見がありました。
2つの仕組みが同じタイミングで「このユーザーはログインしているか?」を確認していて、先に答えを出した方が勝つ。
遅い方は答えを出す前に、もう結論が出ている。
「全部直したのに動かない」のは、1つの仕組みだけ直して満足していたからでした。
これ、引っ越しそのものに似ています。
荷物を全部運んだつもりでも、押し入れの奥に忘れ物がある。
ガスの閉栓はしたのに、水道の手続きを忘れている。「もう終わった」と思った瞬間に、大抵もう一仕事残っている。
でも、引っ越しは終わりました。
ログインできて、ダッシュボードが表示される。
新しいサービスの上で、ちゃんと動いている。
使っている人は相変わらず誰もいません。
でも、動いている。
そして、空いた枠には新しいアプリが入る予定です。
手放さなかった。
捨てなかった。
引っ越しただけ。
たぶん、ものを大切にするって、こういうことなんです。
引っ越しの本当の完了は、普通に暮らせる日

引っ越しが終わった翌日の話です。
新しい家で暮らし始めると、小さな不具合に気づきます。
「あれ、この電気のスイッチ、前と場所が違う」
「お湯が出るまで、少し時間がかかるんだ」
アプリの引っ越しも同じでした。
ログインはできる。
ページも表示される。
でも、プロフィール画像が出ない。
原因は、新しいサービスの「お湯が出るまでの時間差」でした。
前のサービスは、ページを開くたびにサーバーに「この人は誰?」と聞いていました。
返事が来るまで待つから、必ず正しい答えが返ってくる。
新しいサービスは違いました。
ページを開いた瞬間に聞くと、「ちょっと待って、まだ準備中」と返ってくる。
ほんの一瞬の時差。
でも、その一瞬の間に「誰もいない」と判断されてしまう。
だから、「準備ができたら教えてね」という仕組みを作りました。
10箇所に。
直したら、画像が出ました。
引っ越しって、荷物を運び終えた時点では終わらないものです。
新しい家の電気のスイッチに手が伸びて、「あ、ここじゃなかった」と思う。
前の家の癖がまだ体に残っている。
でも、何日か暮らせば慣れます。
新しいスイッチの位置が「当たり前」になる。
引っ越しの本当の完了は、新しい場所で「普通に暮らせる」ようになった日です。
まだ細かい調整は残っています。
でも、もう普通に使えている。
あとは、前の家に置いてきたデータをどうするか。
それが次の課題です。
引っ越しの最後に、一番面倒なことが待っていました。
「電話回線の工事」みたいなものです。
前の家ではインターホンを押せばすぐ繋がった。
新しい家では、回線を引き直さないといけない。
アプリで言えば、AI機能。
ユーザーが何かを入力すると、サーバー側でAIに問い合わせて、結果を返す仕組み。
前のサービスにはこの機能が最初から付いていたけど、新しいサービスでは自分で配線し直す必要があった。
配線はできた。
管理画面を見ると「稼働中」と表示されている。
でも、ボタンを押しても反応がない。
「認証されていません」と返ってくるだけ。
原因を探っていったら、家の話ではなく、町のルールの問題だった。
この家が建っているのは、ある組織が管理する区画。
その区画のルールで「外から電話をかけられる回線は設置禁止」となっていた。
自分の家なのに、自分の町なのに、自分で決めたルールに自分が縛られている。
「あ、この町、自分が管理者だ」
冷静に考えたら、町のルールを変えられるのは自分だった。
制限を解除して、回線が繋がった。
……と思ったら、電話番号が間違っていた。
保存してあった番号が、なぜか3回繰り返しで登録されていた。
正しい番号を入れ直して、やっと繋がった。
引っ越しには、いつも「最後のもう一仕事」がある。
荷物を運んで、電気と水道を通して、インターネットを繋いで。
全部終わったと思ったら、電話回線が残っていた。
回線を引いたら、町のルールに引っかかった。
ルールを直したら、番号が間違っていた。
「あと少し」が3回続いた。
でも、繋がりました。
AIが返事をくれました。
新しい家で、全部の機能が動いています。
引っ越しの完了は、最後のドアが閉まった日ではなく、全部の部屋の明かりがついた日なんです。
見ている側に、原因があることもある

全部の明かりがついて、やっと落ち着いた。
と思ったら、写真立てが二重に見えていました。
壁に写真を1枚飾ったはずなのに、同じ写真が2枚並んでいる。
「飾り方が悪かったかな」と思って、何度もやり直しました。
接着剤を変えてみたり、フックの位置を変えてみたり。
3時間くらい。
でも直らない。
ふと、写真を飾る「行為」ではなく、写真を「見る」側を疑ってみました。
自分の目がおかしいのでは、と。
確認してみたら、やっぱりそうでした。
引っ越しの時に、めがねのレンズが微妙にズレていた。
1枚のものが2枚に見えていたのは、見る側の問題だった。
これ、日常でもよくある感じます。
「相手が悪い」と思って何度も言い方を変えるけど伝わらない。
でも実は、自分の聞き方がズレていた。
「やり方が間違っている」と思って手順を変え続けるけど解決しない。
でも実は、そもそも見ている場所が違った。
問題が起きたとき、原因は「やった側」にあると思い込みがちです。
でも「見ている側」に原因があることもある。
仮説を変える勇気が、3時間を5分に変えることがある。
引っ越しで学んだのは、荷物の運び方じゃなくて、こういうことだったのかもしれません。
最後の仕事は、旧居の片付けでした。
前のサービスの設定ファイル、もう動かないコード、古い設計書。
全部消しました。
それから、住所変更の届け出。
開発ガイドに「前のサービスの使い方」が書いてあったのを、全部「新しいサービスの使い方」に書き直しました。
最後に、新居の火災保険みたいなものを設定しました。
月100円を超えたらお知らせが届くようにした。
誰も住んでいない家だから、100円超えることはまずありません。
でも、何かあったときに気づけるように。
引っ越しって、やっぱり「荷物を運ぶ」だけじゃない。
旧居を綺麗にして、鍵を返して、書類を全部書き換えて、保険に入って。
そこまでやって、ようやく「終わった」と言えるのです。
「終わった」と言えるまで、ちゃんとやり切ること。 それが、次に気持ちよく進むための条件ななんです。

