
【アプリ開発日記18週目】気分が上がらない日
にんげんだもの。
来る日も来る日もコードを書く気力が起きない。
さあ、どうする?
悩む
1ヶ月半前、同様の状態になったことがある。
とりあえず手を動かし、まあ作業が進むには進むのだが、「集中している日の半分くらいのペースなんじゃないか、一度休憩したほうが良いのではないか」と考える。
そこで仮眠やら能動的に頭を使うゲームやらで休憩を取っているのだが、それでも2割くらいしか回復しない。
だからといって、その時1週間ゲームの週にして、たしかにその後能率は上がったが、或いはビル・ゲイツのような一定のまとまった休息も大事なのかもしれないが、そんなにこの戦法を頻繁に取るわけにもいかない。
これまでの同様に陥った時の対処法をまとめた日記があるのだが、それを試しても頭の回転が変わらない。

それでもコードをひたすら書いていると、偶然目に入った記事があった。
これだ。
今の状況を当てはめよう。斧を研ぐとは何のことか?
コードの書き方や最近のAI動向の基礎を学び直す?
ではなく。
睡眠と、読書だ。
コードをほぼ進めずにただ本を読んでいた時期もあった。2,3か月前のことだ。
過ぎたるは及ばざるが如しなのだが、最近はあまりにも本に触れなさすぎた。
本など私は元々アレルギー気質だったのだが、無理矢理読まされるうちに、それが生活の一部になっていた。
それでも久しぶりはハードルを感じたため、素直に小説を。気になっていたリストの1つ、カズオ・イシグロの「日の名残り」だ。

以前「高慢と偏見」という1800年前後のイギリスの小説を読んでいたのだが、今回は1920-50年頃のイギリスが背景にあり、いずれもお屋敷が舞台となっていただけに、つい読書だけの日で3日を費やしてしまった。
カズオ・イシグロはイギリスが舞台であることが多いので、併せて読むとおすすめです。
なるほど、コードやAIのアイデアが出てくると思ったが、全く出てこなかった。当然か。
今これを書いているのもまだコード再開前、つまり3日目にあたるのだが、そうこうしているうちに別の考えが浮かんできた。
「日めくりカレンダーを作る」だ。
以前から、ずっと考えてはいた。先程の「モチベ上がらない時の対策」や「偉人の言葉」、「未来の自分への言葉」などからランダムで1つピックアップしてその日のスマホ画面に表示する、というもの。
言葉のみならず、本などもそうだが、「もう一度読む!」と言ってから何年も手を付けてなかった、それが大事なのに気づいているにも関わらず、という経験が私にはよくある。だから、自分用のアプリでそれを作ろう、と考えていたのだ。
作ろう。大丈夫、まだ土曜日の19時半だ。
実装
ということで作っていきます。
の前に。
さすがにあるだろう、既存アプリ。


全然ありました。
私が試してみたのは上記のアプリですが、他にもThe life quotes(海外メイン)など自分の言葉を追加できるものも色々あります。
その上UIも洗練されていて、とても使いやすい。
では十分……と思ったのですが、これは決して話題作りのためではなく、引っかかったんですよね。
データをアプリの中にしか保存できないのはどうなのか?
例えば、このアプリを使わなくなれば、ここに保存したものは全て使えなくなります。或いは、他の場所で使おうとしても使えません。
故に、自前のDB(データベース)を持つ、最近ならfirebase, supabaseなどがメジャーですが、すでにそのようなDBを持っていたので、そちらを使うことにしました。
それは

Notion。
何かしら1つ追加する用途に向いていたためこれまで使っていたのですが、今回はDBとして使っていきます。
ここに追加すれば、これまで通り使いつつ、新たなアプリの内容も自動で更新可能。もちろん今後いくつアプリを作ろうとも、ここにアクセス出来ればOK。最悪Notionが廃止になっても、自前のサーバーにデータだけ移行することで解決を図ります。
もちろん柔軟なアプリを作るうえではこの選択肢は決していいとは言えないのですが、今回は個人用ということもあり、このアプローチでいきます。

以前、Notionとの連携は実装していました。今回もそれがあったためNotionを選択肢に入れたのかもしれません。
試験対策用に教科書や国試のデータを詰め込んだDB、例の偉人や自分の言葉を入れたDB、毎日のToDoを入れたDBなどに接続し自分の分身や自分に最適化されたAIエージェントを作ろう、といった企画です。
3Dキャラが重いのが玉に瑕ですが、非常に面白い結果になったので、皆さんもよかったらぜひ作ってみて下さい。
ともかく、当時のコードを加工しコピペすれば完成です。



またアクセスすると毎日その記録が残るようにしました。同時に「偉人の言葉」「自分の言葉」「未来の自分へ」などを選択できるようにしておきます。そのセットを選べば、自動でそれが毎日表示されるという仕組みに。
加えて、作りながら途中で思いついた「ブラウザも同様にしよう」ということで別途Chrome拡張機能も作成。
新規タブに、それが表示されます。ややしつこすぎる気もするので、こちらは廃止されるかもしれませんが。


以上、実装完了です!
おわりに
最近は技術記事が多かったので、久しぶりに日記という感じに近づいた気がします。
気張りすぎず、来週へ。
今回も最後までご覧いただき、ありがとうございました!