この記事ははてなエンジニア Advent Calendar 2025の17日目の記事です。昨日は
id:laminne の Kotlinを書き始めたでした。僕も5年くらい前にはてなでAndroidアプリの勉強をして初めてKotlinを触りました。エントリでは、「わかる・・!」と思うことがたくさん書かれていてよかったです!
年の瀬なので、今日は1年を振り返るような話をします。ちょうど1年くらい前、ふとGitHubの自分のプロフィールを見た時に、何も活動してないじゃんと思ってしまいました。これは2024年のコントリビューショングラフです。*1

何かを作るのが好きでエンジニアをやっているはずなのに、何も作っていない。これで良いわけがない!と自分を見つめ直し、この状況を打破するべく、1日最低1コミットは個人のGitHubリポジトリに何かしらコミットしよう、と思い立ちました。それを思ったのが2024年の12月で、ちょうど12月くらいから緑の色がついていない日がなくなっていると思います。

それから1年くらい経ち、見事に直近のコントリビューショングラフが緑色で埋まりました。やったね。

毎日コードを書き続けることは、Write Code Every Dayが有名です。これはJohn Resigが始めたことで有名で、ルールをいくつか定めています。John Resigの場合はソースコードをオープンにすることを求めていますが、僕はそこまで厳しくはしませんでした。
僕が決めたルールは以下の通り
- 毎日1コミット以上意味のあるコミットをする
- typo修正などは含めない
- renovateのPRをマージするだけ、も含めない
- 空コミットなどもしない
- 明日のことを考えてコミットの温存はしない
- 本末転倒なので・・・
- 1日にたくさんコミットした方がえらいという価値観
- GitHubの個人のリポジトリが対象
- 会社のorgにあるコードは含めない*2
- privateリポジトリでも良い
- 何かを作り続ける
- 写経はしない
- 自分の意志が入ったコードを書き続ける
- Issue作成などでもコントリビューショングラフは緑になるけど、それは含めない
- コードはAIに書かせても良い
毎日コードを書くと、不思議といろんなものができていきます。2025年はAI Agentの進化が目覚ましい年だったので、コードの書き方にも変化がありました。最初の頃は普通に自分でコミットしていたけど、途中でAI Agentコーディングが流行り出してからは、自分でコミットすることは少なくなっていきました。
途中、1箇所だけ明らかに緑色が濃いエリアがあります。これは1ヶ月だけClaude Maxを契約していた時です。Claude Codeで無限にコードを書かせられるのが楽しくなって無限にコードを書き続けさせていたけど、ドンキーコング バナンザが発売した7月17日以降は興味がSwitch 2に移っていったので、元通りになっています。Claude Maxは1ヶ月でProに戻しました。*3

ということで、この1年くらいで作ってきたものを紹介していきます!
Smart-Warikan
日々生きていたら割り勘をすると思うのですが、割り勘もスマートにできた方がいいと思って作ったツールです。スマートな割り勘とは、小銭をやり取りしたりせず、偉い人が多めに払う割り勘です。デフォルトで割り勘の最小単位を1000円にしているので、小銭をやり取りする必要がありません!端数は、偉い人に払ってもらったらいいのです。

なんだったら、偉い人にはもっと多く払ってもらいたいですよね?そういう時のために、スライダーも準備しています。このスライダーは右に行くほど偉い人が多く払うようになっています。社長にスライダーを操作して貰えば、スマートなところを部下に見せつけることができるようになっています!

Happy Holiday
特別な日付を教えてくれるサービスです。ここでいう特別というのは、普通に生活していると見逃してしまう、7777日目や、10000日目などです。記念日にできそうなロジックをいくつか考えて、簡単に確認できるようにしました。

使い方は、トップページで日付を入力するだけです。例えば誕生日を入力してみましょう。僕の誕生日である1992年12月8日から、今は1億秒はもう過ぎてしまったことがわかります。また、生まれた瞬間に発された光が、来年の9月になるとポルックスまで届くということもわかります。2040年には、心臓が20億回鼓動するようですね。

全くコミットする内容が思いつかない時に、特別な日付のロジックを追加すると無限にコミット数を水増しできるなと思いついて作りました。ロジック案はまだまだたくさんあるのですが、他に作りたいものがたくさんあり過ぎて、なかなか出番がなく最近全然追加できていません。
ZenBudget
節約でもしてみようかなと思って支出管理アプリを作っている - Lento con forzaで作ったと言っていたやつです。なんかそろそろ使えるレベルになってきたなと思っていたので、一応ストアに出しておきました。僕の支出記録は半年以上続けています。ドッグフーディング!
特に支出が改善している気は全くしません・・・。レコーディングダイエット失敗です。
ポートフォリオサイト
1日1コミットを続けているうちに色々とモノができてきたので、ポートフォリオページを作りました。正確にはAIに作らせました。
せっかく作ったので、過去に作ったものも記憶を引っ張り出して、たくさん書いておきました。だいたい作り終えていて、過去に公開したものは全て揃えたはず。僕がどんなものを作ってきたかはここを見るとわかります!
Calendar Wars
ポートフォリオサイトを作っていたら、昔JavaScriptでゲームを作りまくっていたことを思い出して、懐かしくなって作りました。昔作っていたゲームなのですが、ソースコードが失われていてゲームロジックも完全には覚えていなかったのですが、コンセプトは覚えていたので作り直しました。
ルールの説明は難しいので、動画を見てください!いや、動画を見ても分かりにくいかも・・・。ブラウザ上でもプレイできるので、試しに操作してみてください!!
9leapにゲームを投稿していた時代の思い出 - Lento con forza でも紹介したものです。
TapDrop
こちらもCalendar Warsに引き続き、ポートフォリオサイトを作っているときに思い出して作ったものです。テトリス風のパズルゲームですが、ワンタップで遊べます。左右に動き続けるブロックを、タイミングよくタップすると、そのまま下に落下します。一列揃えたら消えていきます。
こちらは、動画を見てもらえるとどういうものか分かりやすいと思います!
9leapにゲームを投稿していた時代の思い出 - Lento con forza でも紹介したものです。
今年作ってきたものは以上です!と言いたいところですが、これ以外にも作ってうまくいかずにお蔵入りしたものや、作っている途中のもの、飽きて途中でやめたもの、リリースしたいと思っていたけど審査に通らなかったものなど、まだまだたくさんコードを書いていました。一旦みんなが使える状態で外に出しているものはこれで以上です!