(Noteからお越しいただいた皆様、ありがとうございます!ここでは開発の裏側や機能をより詳しくご紹介します。)
テニスを楽しんでいる皆さん、こんにちは!サークル運営で誰もが一度はぶつかる「乱数表の煩わしさ」。それを解消するために開発したテニス運営サポートWebアプリ「テニスパーク(TennisPark)」の開発秘話をお届けします。
1. 「もっとテニスに集中したい!」から始まった開発
きっかけは「自分が欲しかったから」というシンプルな理由です。
紙の乱数表は、誰が何番かを覚えるのが大変で、組み合わせが偏ることもあります。「スマホで完結し、戦績を後で見返せたらもっと盛り上がるはず!」という理想を形にすることに決めました。
<実際の画面(試合結果):スマホ版>
2. こだわったのは「公平性」と「テニスプレイヤー目線」
開発で特に追求したのは以下のポイントです。
公平な組み合わせアルゴリズム:
「特定の人ばかり試合に出る」不満をゼロに。全員の試合数を均等にしつつ、ペアや対戦相手が多様になるロジックを実装しました。
現場での使い心地(UI/UX):
シングルス・ダブルス対応、ボタン一つでカード自動生成。
スコア入力は片手でサクッと。タイブレークもバッチリ。
結果は即座に集計され、ランキングや相性分析として可視化。
PWA対応により、スマホのホーム画面からアプリ感覚で起動可能。
<実際の画面(試合設定):スマホ版>
3. 未経験者の挑戦を支えた「技術スタック」
「開発環境すら分からない」状態から、以下の最新ツールを駆使して完成させました。
OS:
Windows 11
開発言語:
TypeScript (JavaScript)
JavaScriptをより安全に、扱いやすくした言語です。AI(Cursor)との相性が抜群に良く、コードの書き間違いを事前に指摘してくれるので、未経験の私でも安心して実装を進めることができました。フレームワーク:
Next.js (React)
モダンなWebアプリを素早く、高性能に作るための枠組みです。画面の切り替えがスムーズで、SEO(検索エンジン最適化)にも強いこのフレームワークをあえて選んだことで、プロのような操作感を実現できました。
AIコードエディタ:
Cursor
今回の主役。AIと対話しながらコードを書くスタイルで、未経験の壁を突破させてくれました。
バックエンド & データベース:
Supabase
ユーザー認証や試合データのリアルタイム保存を支える、強力なバックエンドサービスです。
決済プラットフォーム:
Stripe
本格的なサービス展開を見据え、世界標準の決済システムをAIの助けを借りて導入しました。
最初はAIに丸投げしていましたが、途中から「どんな実装をしたいか」をAIと徹底的に対話するスタイルに切り替えたことで、開発効率が劇的に向上しました。
4. 「テニスパーク」が実現したい未来
日程調整、開催通知、ペア決め、結果共有……。こうした事務作業はすべてアプリに任せて、皆さんはコートの上でボールを打つことに100%集中してほしい。
そして、終わった後はデータを見ながら「今日の勝率1位だ!」「このペア、相性いいよね」とわいわい楽しんでもらえたら、これ以上の喜びはありません。
おわりに
「テニスパーク」は現在Webアプリとして公開中です。
「自分も何か作りたい」と思っている方。今の時代、AIという強力な相棒がいれば、あなたの情熱は必ず形になります。ぜひ一歩、踏み出してみてください。
テニスを愛する皆さんの活動が、このアプリでもっと楽しくなることを願っています!

