ブログの最初の記事(大学3年生、WordPressを開設する。〜のらりくらり就活逃亡記と新たな挑戦〜)で、大学入学時に立てた「大学生のうちにやりたいことリスト100」を発掘した話を書いた。
当時はブログを開設したばかりで右も左も分からず、とりあえず「せっかくだから公開してみよう」と深く考えずに100項目を記事の末尾にそのまま並べていた。
だが、ブログを運営していくうちに、ずっと引っかかっていたことがある。
「公開するだけしておいて、何も進んでいないのが気になる……」
ブログを始めたきっかけの1つでもある大切なリストなのに、ただ過去記事の底に眠らせておくのはもったいない。
そもそも、日々の挑戦や進捗を「通常の投稿記事」の中で都度テキストを書き直して管理していくこと自体、構造的に無理があった。
せっかく有料テーマ「SANGO」を導入したのだから、テーマの機能を生かして、いつでも現在の進捗状況が一覧できるきれいな専用の固定ページを作ってみたい。
そう思い立ち、100項目のリストをWebページとして本格的に設計し直すことにした。
だが、実際にページを作成しようとしたところで、SANGO特有のブロック仕様による「手作業の膨大さ」に突き当たることになる。
まず、頭の中にあった「こんなページにしたい」という漠然とした要望を、具体的な作成方法へ落とし込んでいった。

レイアウトの設計としては綺麗にまとまった。
だが、いざWordPressの標準エディター(Gutenberg)で実際に組もうとして手が止まる。
アコーディオンが100個。その中に入れるリストやタイムライン、関連記事枠まで含めると、ページ全体で数百個ものブロックを配置しなければならない。
「これ、100項目分すべて手作業でブロックを追加して、設定を開いて、文字を流し込むのか……?」
単純なコピペで済まないのが厄介なところだった。SANGOのアコーディオンブロックは、開閉を正しく制御するために、ブロックごとに重複しない固有のID(識別番号)が内部で自動的に割り振られる仕組みになっている。
もしコードエディター上で1つのアコーディオンを100回コピー&ペーストすると、すべてのブロックに同じIDが複製されてしまい、WordPressのエディター上でブロック破損エラーを起こしてしまうのだ。
1個ずつエディター上でブロックを挿入し、IDを生成させ、タイトルと中身を打ち替える。
1つのブロックを整えるのに1分かかったとしても、数百ブロックあれば何時間も画面とにらめっこすることになる。手作業でちまちま進めていたら確実に気が狂ってしまう(時間も精神力も持たない)。
大学の講義や会計士試験の勉強、日々の生活がある中で、単純作業に何時間も溶かしてしまうのは避けたかった。
そこで、普段からコード作成やデータ処理で使っているAIコーディングツール「Antigravity」に作業を任せることにした。
手順は以下の3ステップだ。
自分は目標管理をNotionのデータベース(DB_大学生でやりたいことリスト100)で行っている。
AntigravityからNotionのデータを直接読み込ませ、100項目分の目標名、達成条件、進捗状況(完了/進行中/未着手)を整理した。
WordPressエディター側で空のアコーディオンを配置した枠組み(下書きファイル)を用意した。
Antigravityにスクリプトを実行してもらい、SANGOが自動で生成した100個の重複しない固有IDを抽出させた。
抽出した固有IDをそのまま維持しながら、Notionの進捗データに基づいたHTMLブロック(達成条件リスト、進捗タイムライン、関連記事カード)を自動で組み立て、下書きファイルへ流し込んでもらった。
WordPressのエディターに生成されたコードを貼り付けて確認すると、IDの競合やブロック破損のエラーは一切起きなかった。
100個のアコーディオンが整然と並び、タブの切り替えやアコーディオンの開閉もスムーズに動作した。
手作業による膨大な時間を大幅に浮かせられたのはもちろん、「Notionで管理しているデータを、SANGOの複雑なブロックコードへ安全に変換・反映する」という仕組みが確立できたことは、これからのブログ運営にとっても大きな収穫だった。
こうして無事に固定ページが形になり、タブやアコーディオンを開閉しながら現在の達成状況を改めて眺めてみた。
Notionで管理していた時から分かり切っていたことではあるのだが、いざWebページとしてきれいに整列したタイムラインを目の当たりにすると、「残されたタスクの圧倒的な質量」を再認識させられる。
現在の達成状況は、100個中24個。進捗率は約24%だ。
大学生活の折り返し地点を過ぎた今、残りは76個もある。
- 旅行:47都道府県制覇、富士山登頂、世界遺産巡り、世界一周、オーロラ、スカイダイビング
- 勉強・資格:公認会計士合格、TOEIC990点、英検1級、1000冊読書、IELTS7.0
- 挑戦・身体:フルマラソン完走、スパルタンレース、日本刀試し斬り、実銃射撃
- 暮らし・発信:自力での収益化、本の出版、服や包丁の自作
ソフトウェア開発の世界では、過大な要求仕様と厳しい納期によって現場が破綻していく過酷な状況を「デスマーチ」と呼ぶ。
先日技術系の本を読んでいた時に、リストの存在を思い出して「これはまさに大学生活のデスマーチだな」と苦笑してしまった。
ソフトウェア開発でプロジェクトが炎上する原因は、だいたい「やりたいことの詰め込みすぎ(仕様の肥大化)」「動かせない期限(絶対納期)」「人手や時間の不足(リソース不足)」の3つに尽きる。
そして今の自分の状況は、この3大要素をすべて完璧に満たしてしまっていた。
まず、18歳の自分が欲望のままにリストアップした目標が100個。実現可能かどうかなど一切考えずに仕様を膨らませた。
次に、大学卒業という動かせないタイムリミット(残り約1年半)。
極めつけに、普段の講義や課題に加えて、大学生活のメインである公認会計士試験の勉強に日々追われている。自由に使える時間は最初から限られていた。
「大学生になったら時間なんて無限にあるだろう」という、絵に描いたような甘い見積もりの結末がこれだ。
残された時間はもう半分しかないのに、消化できたタスクはわずか24%。
どう振り返っても、誰にも文句が言えない自分発のセルフ炎上プロジェクトである(完全に自業自得だ)。
ただ、こうして固定ページとして進捗を可視化したことで、気持ちの上でのひと区切りがついたのも確かだ。
やりたいことリストは、作って満足してしまい、引き出しの奥に眠らせてしまうのが一番もったいない。
完璧にすべてを達成できる保証はないし、途中で優先順位が変わることもあるだろう。
けれど、あらかじめ用意された成功談ではなく、「限られた時間の中で、やりたいことにどう向き合い、どう消化していくか」というリアルタイムの過程こそが、ブログに記録を残す一番の意味だと感じている。
リストの中には「リンゴを割る(達成済み)」のようなちょっとした息抜き項目もあれば、「公認会計士合格」のように腰を据えて挑む長期目標もある。
その濃淡も含めて、等身大の大学生活の記録として残していきたい。
完成した固定ページ「大学生でやりたいことリスト100」は、以下のリンクからご覧いただけます。
各タブをクリックすると、それぞれの目標の達成条件や現在のタイムライン、書いた記事のリンクカードが見られるようになっています。
なお、Notionとリアルタイムで自動同期しているわけではないため、目標を達成した瞬間に即座にページへ反映されるわけではありませんが、定期的に進捗を更新していく予定です。
たまに進捗を覗きに来ていただけたら嬉しいです。

