CASE STUDY

本業と両立しながら弓道の記録アプリを育てる

採点簿 SERIESの開発・保守と、段階的な技術更新

IN 30 SECONDS

30秒で分かる概要

採点簿は、弓道の練習や試合の結果を記録し、振り返るためのアプリです。アプリエンジニアとして学ぶため、現役時代の自分が使いたかったものを作ることから始めました。

本業外の限られた時間で、一人で開発・保守しています。入力の手軽さを大切にしながら、複数のアプリを保守しやすい構成や、段階的な技術の更新に取り組んできました。iOS通常版は約2,500件の評価をいただき、平均評価は4.7/5です。※1

基本情報

対象
通常版の採点簿を中心に、シリーズの保守も扱います。
対象期間
2013年のAndroid通常版公開から現在まで。
初回公開
Android通常版は2013年3月10日、iOS通常版は2014年7月29日。
担当と体制
本業外の個人開発。一人で開発・保守。

本文

1 課題

弓道の現役時代は、練習結果を紙に記録し、毎日の的中率を電卓で計算していました。当時はスマートフォンがなく、記録をつけるたびに計算することを不便に感じていました。

紙は時間がたつと劣化します。高校時代の記録を社会人になっても振り返れるように、過去の練習を長く残せることにも価値を感じていました。

2 挑戦

開発を始めた目的は、アプリエンジニアとして勉強することでした。その題材として、自分が現役の弓道選手だったら使いたい機能を備えたアプリを選びました。

記録を手軽につけられ、計算の手間を減らし、過去の結果を振り返れるようにする。それが採点簿の出発点です。

公開後は、利用者が使い続けられることも大切になりました。2017年のラジオ出演をまとめた記事では、保守を続け、長く使われるアプリにしたいと話しています。学習のために始めた開発が、利用者の記録を支える継続的な活動になっていきました。

3 制約

開発に使えるのは、本業外の限られた時間です。立ち上げ時は、土日などのまとまった休みに集中して取り組みました。

保守するアプリが増えると、別のアプリに作業を切り替える負担も大きくなります。一人で複数のアプリを保守するためには、その都度構成を理解し直す負担を抑え、必要な変更を進めやすくすることが重要でした。

4 設計

利用者にとっては、日々の入力が手軽であることを重視しました。機能を追加する場合も、基本の記録体験を複雑にしないことを大切にしています。

保守の面では、画面と処理の役割を分けるMVVMや、役割と依存関係を整理するClean Architectureの考え方を採用しました。アプリごとの作業の切り替えをしやすくし、必要な部分を変更しやすくするためです。

技術を更新する際も、既存の仕組みを生かしながら、変更する部分を切り分けられる構成を意識しました。

5 実行

Android通常版を2013年、iOS通常版を2014年に公開しました。その後も開発・保守を続け、アプリごとに段階的な技術の更新を進めてきました。

技術の変遷と現在の状況

2026年10月12日時点。各移行の実施年は記載していません。

技術の変遷と現在の状況
対象技術の変遷現在の状況
Android通常版Java → KotlinとXML → Jetpack ComposeComposeへ移行中
Android Pro版KotlinとXML → Jetpack ComposeComposeへの移行完了
iOS通常版Objective-C → Swift → FlutterFlutterへ移行済み
iOS Pro版FlutterFlutterで開発

Jetpack ComposeとFlutterは、アプリの画面を作るための技術です。シリーズ全体が一つのコードになっているわけではなく、4つのアプリは別々に保守しています。

一方で、共通に扱える部分では共通化にも取り組みました。占い機能についてはFlutterの共通ライブラリを作成し、各アプリから利用できる仕組みを構築しています。アプリ全体の更新と、一部機能の共通化を進めながら、保守のあり方を見直してきました。

占い機能はAndroid版ではComposeから呼び出し、的を射抜くアニメーションの挙動はゆみ練で作ったものを占い側へ移植・調整して使っています。

採点簿のAndroid通常版とPro版はComposeから、iOS通常版とPro版はFlutterから、占いfeatureのFlutter共通ライブラリを利用する。実線は利用を示す。ゆみ練から占いfeatureへの破線は、的を射抜くアニメーションの挙動を開発時に移植・調整したことを示す。Android通常版全体のCompose移行完了を示す図ではない。
図1 占い機能の共通化とアニメーションの移植 図を拡大して見る ↗

6 成果

技術面では、既存のデータベースの仕組みを維持したまま、言語や画面側を更新できました。

iOS通常版のApp Store評価は、約2,500件、平均4.7/5です。※1 学習のために始めたアプリが、実際に使われ、評価をいただけるものになりました。

公開レビューでは、記録の続けやすさや、自動集計によって練習を振り返れる点が評価されています。記録やメモ、グラフが自己管理に役立つという声や、使い方の質問への迅速な対応を評価する声もありました。※2

こうした声から、日々の記録と振り返りを支えるという価値が、利用者に届いていることを確認できます。一方で、操作や分析機能の分かりやすさを求める意見もあり、使いやすさには改善の余地があります。

開発を通じて弓道関係者とのつながりも生まれました。イラストの協力やコラボ、ラジオ出演など、アプリをきっかけに活動が広がったことも成果の一つです。

7 学び

運用を続ける中で、機能を追加することによって、画面やメニューの情報構造を整理し直すことが難しくなると感じました。個々の機能を追加できることと、アプリ全体を分かりやすい形に保つことは、あわせて考える必要があります。

また、長く使っている利用者には、慣れた使い方があります。構成を変えたいと考えても、利用者への影響が気になり、大きな変更を実践しづらい面があります。設計を見直す際には、変更内容だけでなく、その変更を利用者にどう届けるかまで考える必要があります。

保守面でも、シリーズ全体の体制や共通化のあり方を見直すことが残っています。限られた時間で改善を続けるために、利用者の記録体験と、自分が保守し続けられる構成の両方を考えることが、この開発で得た学びです。

注記と出典

※1 iOS通常版「弓道的中管理 採点簿」の評価件数と平均評価。2026年10月12日に開発者本人が確認した値です。評価件数は文章付きレビューの件数とは異なります。

※2 公開レビューは個々の利用者の感想です。継続率や競技成績の向上を示す測定結果ではありません。

出典