この記事が良かったら
「チップをリクエスト」で著者にチップの受け取り設定をお願いできます

深夜1時を過ぎたころ、別の作業をしながら開いたままのターミナル画面に、ふと目が止まりました。 特に理由はなかったのです。ただ、半年以上ほとんど触れていなかった個人開発のリポジトリが、なんとなく気になって。コードを直すつもりも、何かを調べるつもりも、まったくありませんでした。ただ、…
この記事が良かったら
「チップをリクエスト」で著者にチップの受け取り設定をお願いできます
深夜1時を過ぎたころ、別の作業をしながら開いたままのターミナル画面に、ふと目が止まりました。 特に理由はなかったのです。ただ、半年以上ほとんど触れていなかった個人開発のリポジトリが、なんとなく気になって。コードを直すつもりも、何かを調べるつもりも、まったくありませんでした。ただ、懐かしい場所を覗いてみるような感覚で、ディレクトリを開いてみただけです。 git log と打って、流れ出してくるコミットの一覧をぼんやり眺めていたら、思わず手が止まりました。スクロールしても、スクロールしても、終わらない。ちゃんと数えてみたら、全部で847件ありました。自分でも気づかないうちに、こんなに積み上げていたんだ、と。最後まで遡ったとき、画面の一番下に、一番古いコミットが現れました。
コミットメッセージはただひとこと、「initial commit」。日付は1年半以上前でした。
「あ、この日か」と思ったとき、不思議なほど鮮明に、その夜のことを思い出しました。寝る前に「えいや」とコミットして、誰も見ていないのになぜか緊張して、そっと画面を閉じた感覚。あのとき、Lilyは確かに「これを作りたい」という気持ちでいっぱいだったはずです。
正直に言うと、最初のコミットに入っていたのは、本当に素朴なものでした。今見返すと、変数名もめちゃくちゃで、「とりあえず動けばいい」とばかりの書き方で、恥ずかしくて人に見せられるものではありません。画面に表示されるのはただのテキストと、ボタンが1つ。デザインらしいデザインもほとんどない状態でした。
でも同時に、あのころの自分はとにかくワクワクしていたことも覚えています。機能の完成図を紙にぐるぐると書いて、「こんなことができたら便利だろうな」「誰かが使ってくれたら嬉しいな」と、寝る前に想像するのが楽しくて仕方なかった。
今のアプリと見比べると、最初に思い描いていたものとはだいぶ違うかたちになっています。なくなった機能もあれば、まったく想像していなかった機能が加わったりもしました。でも、あのころのメモに残っていた「誰かの小さなストレスを減らしたい」という一文だけは、今もぶれていないなと思いました。
実は、その夜に古い履歴を遡ったのには、きっかけがありました。
ちょうど数日前、Lilyがいつも見ているオンラインコミュニティのチャットで、あるメンバーが静かにこう投稿していたのです。「2年間続けてたプロジェクト、リポジトリごと消しました。完成しないまま時間だけ過ぎて、みっともないと思ったので」
その文章を読んだとき、Lilyは正直、胸がぎゅっとなりました。会ったことのない方なのに、「もったいない」より先に「わかる」という言葉が口をついてきてしまって。自分もずっと似たような感覚を抱えながら、それでも消せずにいたから。
個人開発をしていると、「まだ完成していないものを抱えたままでいる」感覚が、じわじわとした重さになってくることがあります。
誰かに頼まれているわけでも、締め切りがあるわけでもないのに、なんとなく「まだ終われていない自分」への後ろめたさが少しずつ積もっていく。Lilyもそれが嫌で、リポジトリをほとんど開かない時期が半年近く続いていました。
でも、そのメンバーの一言を見て、Lilyはふと思いました。消してしまったら、あの「initial commit」の夜に戻ることは、もうできない。どんなに不恰好でも、残っている限りは「続いている」ということなのかもしれない。そう思ったとき、久しぶりに自分のリポジトリを開いてみたくなったのです。
847件の中から、いくつかのコミットをつまみ読みしてみました。
途中、「全部作り直し」と書かれたコミットが3回ありました。一度目は、せっかく作った機能がほとんど動かなくて、週末まるごとを使って書き直した跡です。二度目は、方針を変えたくなって画面の構成を全部捨てたとき。三度目は、自分でも何を作りたかったのか迷子になって、最初から設計し直したときのもの。
当時は「また振り出しに戻った」という感覚しかありませんでした。途中でやめてしまいたくなった夜も、正直、ありました。
でも、コミットの日付を並べながら振り返ると、作り直すたびにアプリが少しずつ整っていっているのがわかります。一度目の作り直しのあと、機能を絞ってシンプルにしたら、自分でも使いやすくなりました。二度目のあとは、毎日自分で使えるものになりました。三度目のあとに初めてSNSへ投稿したら、見ず知らずの方から「これ、いいですね」とコメントをいただけました。
「失敗した」と思っていた作り直しが、どれも次のステップへの踏み台だったんだと、履歴を見返してやっとわかりました。リアルタイムには見えなかったことが、時間が経ってから遡ると、ちゃんと筋になっていた。
「最初のコミットがこんなにしょぼかったのはなぜだろう」と嘆くかわりに、Lilyは最近こう思うようにしています。「あのときのLilyは、正しい選択をしていた」と。
あのころ、完成していないものを誰かに見せることへの怖さがありました。「まだぜんぜんできていないのに」「もっとちゃんとしてから」という気持ちが先に立って、公開することを先延ばしにしていました。でも実際には、動くものが手元にあること自体が、続けるための燃料になっていた。
あるとき、同じコミュニティの別のスレッドで、個人開発を10年続けているという方が「最初のコードを今見たら恥ずかしいくらいひどいけど、あれがあったから今がある」と書いていました。「あの段階で完璧を目指していたら、そもそも始められなかった」というひとことが、妙に心に残っています。
Lilyも同じだと思います。最初のコミットが素朴だったのは、力量が足りなかったからだけじゃなくて、「完璧じゃなくても一歩踏み出した」からでもある。完璧な設計図が揃う日を待っていたら、おそらく今もまだ始まっていなかったはずです。
「小さく始める」というのは、やさしい言葉のように聞こえるけれど、実はかなり勇気のいることでもあります。「まだだ」「まだだ」と言い続けながら動けずにいる状態を断ち切って、しょぼくても最初の一歩を踏み出すこと。あの夜のLilyがそれをやっていたんだと気づいたとき、過去の自分に対して、素直に「えらかったね」と思いました。
その夜のあと、Lilyはひとつだけ変えたことがあります。
それまでは「ある程度まとまった変更ができたとき」だけコミットして、公開もそのタイミングでしか考えていませんでした。でも、あのメンバーが「完成しないから消した」と書いていたことが頭から離れなくて、方針を変えることにしました。どんなに小さくても、週に1回は何か変えてコミットする。完成を待つのをやめる。
「完璧になってから出す」をやめて、「続いていることを自分で証明する」に切り替えた、という感じです。
それから3ヶ月ほど経ちました。コミット数は少しずつ増えています。機能は相変わらず、誰もが驚くようなものではありません。でも、あの夜の「initial commit」から今日まで、線が途切れずに続いているのは確かです。
個人開発をしていると、ときどき「こんなものを作ってどうなるんだろう」という気持ちになることがあります。Lilyにも今もあります。でも、git logを開いて、あの最初の日から今日まで続いていることを目で確かめると、不思議と落ち着くんです。
最初のコミットを打った日のあなたは、何かを作ろうとしていた。それだけで、すでに十分すごいことをしていたと思います。
完成していなくていい。途中で作り直してもいい。しばらく触れない時期があってもいい。履歴が残っている限り、あなたの「続けてきた」は消えません。
今夜、久しぶりに git log を覗いてみませんか。あなたの最初のコミットが、きっとそこで待っています。
Lily(@bokuwalily)― 個人開発者。AIと二人三脚で、iOSアプリやWebサービスを作っています
🎁 最後まで読んでくれたあなたへ、無料の特典があります: LINEで「自動化」と送って受け取る(実装テンプレ7本)
Lily(@bokuwalily)― マーケ組織50名規模を統括するCMOを経て、いまは個人でiOSアプリやWebサービスを作っています。集客・導線設計と、AI導入・業務自動化の相談を受けています
🖥️ 制作物・記事 → bokuwalily.com
🐙 OSS → github.com/bokuwalily
🌍 最新情報・お問い合わせ → X @bokuwalily