はじめに
こんにちは、SysAd班の @cp20 です。SysAd班として記事を書くのは久しぶり (もしかしたら初めて?) ですね。今回は皆さんにお知らせしたいことがあってこの記事を書いています。タイトルにあるのでもう分かっているかと思いますが、、、
anke-to v3 をリリースしました🎉
ちなみに今まで動いていたバージョンは実は v1 です。開発されたのは相当前で、何年も前から実質的にメンテされていないような状況でした。え、v2 はないのかって? 開発途中でメンバーが立ち消えてしまったのでリリースされることなく消えました、、、
リリースに至るまでの道のり
リリースまでの経緯をもう少し詳しく見ていきましょう。
anke-to v3 発足
anke-to v3 の話が持ち上がったのは2023年の11月あたりで、12月あたりから仕様決めなどを進めていました。最初の時点では v2 を引き継いで開発を進める予定だったのですが、フロントエンドは完全に v2 のコードは置いておいて v3 の開発を進めて、バックエンドは v1 のコードをベースに v3 の開発を進めることにしました。
初期メンバーはサーバーが @kaitoyama で、クライアントが @cp20 @rei @24take でした。
anke-to v3 はコードを刷新して保守性を向上させるのはもちろんですが、新しい機能としてアンケートの下書き、自動リマインド、匿名回答、複数回答の制限、質問の複製、Markdown 対応、などを盛り込む予定でした。もちろんやや古くて使いづらいUIも刷新する予定でした。
この時点では3か月~半年ぐらいで実装できるかなーとたかをくくっていましたが、、、
裏ハッカソン
2023年の冬ハッカソンで皆が頑張っている中、ボク (たち) は anke-to v3 の開発に勤しんでいました。思ったより実装が大変だったんですが、開発は一定進みました。
この時点ではクライアントの方がかなり進捗が生まれていて、サーバーが完成するのを待っているといった箇所が多くなっていました。なので少し放置気味になっていました。
停滞期
しかしサーバー側が思うように進まず、新しく入ってくれたメンバーにも上手くタスクを振れず、開発が非常に停滞気味になっていました。この状態が続いたら anke-to v3 は v2 と同じ末路を辿っていた可能性があります。
真打登場
しかし2025年前期のプロジェクト所属で @Eraxyso がサーバー側のメンバーとして加入してくれました。そして着実にサーバー側のタスクを進めてくれて、なんとサーバーが一通り完成しました(!!)
そしたらクライアントと繋げてみるわけですよ。動かないわけですよ。困ったね。サーバー側で機能が足りてない部分、実装にバグがある部分もあれば、クライアントでも機能不足やバグが大量に見つかりました。ここからはこれを潰していく作業になります。
リリースするぞ進捗会
2026年1月ごろから対面の進捗会を立てて、その場でリリースするところまで開発するところを目標に作業を進めました。触れば触るほどバグが見つかるので、ひたすらバグ直し作業に追われていました。するとバグがだんだんなくなってきて、そろそろリリースしても良いのでは?という感じになってきました。
クライアントのデザイン面は @uni_kakurenbo にも手伝ってもらいながら実装を進めて、ついに2026年4月13日、遂に anke-to v3 をリリースすることができました!!
フィードバック対応
ちゃんと作り込んでリリースしたので好意的な意見をたくさん頂いて非常に嬉しいんですが、その一方でバグや機能要望が多数舞い込んできました。特にリリース直後は大量のフィードバックが届いて、それらに素早く対応していく作業でした。
クライアント側は負債をすべて捨てて作り直したおかげで素早くフィードバックを取り込む下地をつくることができました。一方でサーバー側はデータベース設計などの変えづらい部分がやや負債として残っており、今後どうやって解消していくかといったところです。
新機能紹介コーナー
anke-to v3 では v1 に比べてたくさんの新機能を実装しています! 6年前(!) に書かれた anke-to v1 の紹介記事と見比べてみると面白いかもしれません。

UI刷新
これが最も大きいポイントかもしれません。anke-to v1 は現代からするとちょっと古さを感じさせるような UI でしたが、それを現代風のモダンな UI に刷新しました。単に見た目を整えるだけではなく、数多くある機能や情報を丁寧に整理して、初めてでも直感的に、いつもの操作が素早くできるように設計しました。
せっかくなので画面をいくつかお見せします。








自動リマインド
対象者になっているが、アンケートにまだ回答していないユーザーを自動でメンションして、回答を催促します。今まで人力で頑張ってリマインドしていたので、それ自体が大変だったり、リマインドを忘れてしまったりといったことが起きていました。これをシステムで解決するのがこの機能です。ただしシステムによる圧だと回答してくれないことも多いようで、今後どうやったらもっと回答してもらえるようになるかを検討しています。
また、これに合わせて対象者がいるアンケートには回答期限を必ず設定してもらうようにしました。対象者が存在するということはその人 (たち) には必ず回答して欲しいはずで、必ず回答して欲しいなら期限があるはず、という仮説です。

匿名回答
以前は回答の公開範囲を狭める、例えばアンケートの管理者のみ回答を閲覧できるといった設定はできましたが、回答を閲覧できる人は誰がどの回答をしたかは分かってしまう状況でした。しかし匿名でアンケートを立てたいというニーズはあり、それを v3 で実現することにしました。
ただしバックエンドが v1 の設計を引き継いでいる関係で完全に匿名化できていない部分が露呈しており、それを今後改善していく予定です。
アンケートの複製
毎年開催するイベントの参加アンケートやフィードバックアンケートなどは毎回同じような項目でアンケートを立てることが多いです。その際に前回のを参考にぽちぽちと手入力するのはめんどくさいので、既存のアンケートを複製して、一部編集して新しいアンケートとして公開できる機能を実装しました。
アンケート作成画面の改善
アンケート作成画面はかなり使いづらいことで話題(?)でした。管理者や対象者の選択UIが信じられないぐらい重い問題とか、多肢選択の設問で選択肢の入れ替えができないとか、その他いろいろと使いづらい点があったのですが、v3 では UI を全て刷新したのでアンケート作成画面もグッと使いやすくなりました。
感想
現開発メンバーからの感想です。
@cp20
一時期は v3 も v2 と同じ感じで流れてしまうのかと思っていたので、無事リリースまで漕ぎつけることができて良かったです。最後の方の進捗会は、バグを見つけたときにクライアントが悪いのかサーバーが悪いのかでバトルしていたので、それはそれで面白かったです。
@kaitoyama
anke-to v1は今から7年前の2019年にリリースされていました。そのため、schemaからのrouterの自動生成などもなく手作業で揃えられていました。バックエンドにとってv3の一番の挑戦はこの部分にあります。schema駆動となるべく、oapi-codegenでのrouterの自動生成とそれに対応した形へのmiddlewareや呼び出される部分の調整を行いました。
v3開発が始まってからとても長い戦いでした。しかしこうやって無事リリースできたのは本当に良かったと思います。しかし、実は内部にはまだまだ負債があったり、回答者の情報を踏まえたtraQとの連携など今後はバックエンド主導の新機能を実装できればと考えています。
@Eraxyso
今回のanke-to v3の開発は、自分にとってこれほど大きなプロジェクトに深く関わる初めての経験でした。バックエンドのリファクタリングや新機能の開発を担当し、システム全体への影響を意識しながら開発を進める難しさを実感しました。
実装を進める中で、新たな課題や改善できそうな点が次々と見えてきて、なかなか終わりが見えない場面もありましたが、最終的にリリースまで到達できたことを嬉しく思っています。特にバックエンドでは、既存の仕組みとの互換性を保ちながら調整やリファクタリングを進める必要があり、理想通りに設計しきれなかった部分や、やむを得ず妥協した部分もありました (実はリリース前から、次のバージョンやさらなるリファクタリングについても考えていました) 。
リリース後も改善点や新たに取り組みたいことが見えてきており、今後少しずつ改善していければと考えています。今回の経験を活かし、今後の開発においても、より良い設計と実装を目指していきたいと思います。
おわりに
既存サービスのメジャーバージョンアップ (リニューアル) という意味ではNeoShowcase以来でしょうか? 他のサービスも密かに開発を進めているみたいなので、これからの発表にご期待ください..!

