Swift Student Challenge 2026 Winnerになりました:応募作品・開発で意識したこと・通過のために考えたこと
Appleが世界中の学生を対象に開催している Swift Student Challenge 2026 で、ありがたいことに Winner に選ばれました。
この記事では、実際に提出した作品の概要、開発で意識したこと、Appleの評価軸に対してどのように作品を設計したか、 Coles そしてこれからSwift Student Challengeに応募する人に向けたアドバイスをまとめます。
- 「Swift Student Challengeに興味はあるけれど、どんな作品を作ればよいのかわからない」
- 「技術力だけでなく、アイデアやストーリーをどう見せればよいのか知りたい」
- 「Winnerに選ばれるために、開発中に何を意識すべきか知りたい」
という人の参考になれば嬉しいです。
Swift Student Challengeとは
Swift Student Challengeは、Appleが学生向けに毎年開催しているプログラミングコンテストです。Swiftを使って App Playground 形式の作品を制作し、Appleに提出します。
このコンテストが他のプログラミングコンテストと明確に違うのは、単に「複雑ですごいアプリ」を作ることが求められているわけではない、という点です。
📌 応募要項の主な条件
- 3分以内に体験できるApp Playgroundを作成すること
- ネットワーク接続がなくても利用できること(オフライン動作)
- アプリで使用するリソースはすべてローカルに含めること
- ZIPファイルのサイズは最大25MB
「25MB!?」 25GBの間違いじゃないの?と思うかもしれませんが、25MBです。しかもオフラインで動く必要があります。 つまり、AIモデルをローカルに置いて動かそうとすると、それだけでかなり厳しいです。大きな画像素材や音声素材を大量に入れるのも難しくなります。
これは、Apple側からの 「技術を盛るより、アイデアと体験設計で勝負してね」 というメッセージなのかなと思っています。単に複雑なコードを書けるかどうかを競うのではなく、作品のアイデア、体験設計、社会的意義、そしてユーザーにとってのわかりやすさがかなり重要になります。
⚖️ 特に重要になる4つの観点
| 観点 | 意味 |
|---|---|
| Innovation | 新しさ |
| Creativity | 表現の工夫 |
| Social Impact | 誰のどんな課題を解くか |
| Inclusivity | 誰にとっても使いやすいか |
作品は3分以内で体験できる必要があります。つまり、巨大なアプリを作るよりも、短い時間で価値が伝わる 「完成度の高い体験」 を作ることが重要になります。
Swift Student Challenge 2026のWinnerに選ばれました
今回、私が提出したApp Playgroundは、Swift Student Challenge 2026でWinnerに選ばれました。
実はこのコンテスト、おそらく受賞結果のメールが来ない形式なんですよね(自分だけかもしれませんが…)。自分でサイトから確認しないといけなかったようです。結果メールが来なかったので、正直、落ちたのかなとすら思わず完全に忘れていたのですが、急に景品のAirPods Maxが届きまして、そこで初めて自分がWinnerに選ばれていたことを知りました。かなりびっくりしました。
まさかWinnerに選ばれると思っていなかったので、選んでいただけたのは本当に嬉しかったです。これまで取り組んできた「複雑で見えにくい情報を、直感的に理解できる形へ可視化する」というテーマが、Appleのプラットフォーム上でも評価されたことに大きな手応えを感じました。
Swift Student Challengeは、単なるプログラミングコンテストというよりも、自分のアイデアをアプリという形で表現する場だと思っています。
- 「なぜそれを作るのか」
- 「誰のために作るのか」
- 「触った人にどんな理解や感情の変化を起こすのか」
まで問われる点が、このチャレンジの面白いところです。
応募した作品:SemanticTower
今回提出した作品の名前は SemanticTower です。
SemanticTowerは、言葉の「意味の近さ」を、3D空間上の位置や物理的な安定性として体験できるApp Playgroundです。
普段、私たちは言葉を文字列として扱っています。たとえば「cat」「dog」「apple」「school」のような単語は、画面上ではただのアルファベットの並びに見えます。
しかし、自然言語処理やAIの世界では、単語はベクトルとして表現されます。つまり、言葉の意味は、数学的な空間の中の位置関係として扱われています。この「意味の空間」は現代のAIを理解するうえで非常に重要ですが、多くの人にとって、単語ベクトルや埋め込み表現は目に見えない抽象的な概念です。
⚙️ 仕組みと体験
SemanticTowerでは、この見えない「意味の距離」を、SceneKitによる3D空間と物理演算を使って可視化しました。
- ユーザーは単語を選び、それを塔のように積み上げていきます。
- 意味的に近い単語同士は安定しやすく、意味的に遠い単語を無理に積むとバランスが崩れやすくなります。
- たとえば、「cat」と「dog」は意味的に近いため同じような領域に配置されますが、「cat」と「democracy(民主主義)」のように意味の距離が遠い単語を組み合わせると、塔の安定性に違いが出ます。
SemanticTowerは、言葉の意味を「読む」のではなく、「積む」「崩れる」「支える」という身体的な感覚を通して理解するアプリです。
なぜこの作品を作ったのか
この作品を作った背景には、私自身の関心があります。私はこれまで、複雑で見えにくい情報を、直感的に理解できる形に変換することに興味を持ってきました。
以前制作した LLMView では、大規模言語モデルが文章を生成するときに、どんな単語を裏で考えているのか(アテンションや確率など)を可視化しました。LLMは自然な文章を生成できますが、その内部で何が起きているのかは非常に見えにくい「ブラックボックス」です。AIをより深く理解するためには、モデルの出力だけでなく、その背後にある表現の仕組みを理解する必要があります。
そこで今回のSwift Student Challengeでは、LLMそのものを再現するのではなく、その前段階にある 「言葉がベクトルとして扱われる」という考え方を、誰でも触れる形にしたいと考えました。
特に意識したのは、数学や情報科学に詳しくない人でも楽しめることです。「単語ベクトル」「自然言語処理」「埋め込み表現」と聞くと難しい印象がありますが、それをゲームのような体験に変換すれば、専門用語を知らなくても直感的に理解できます。この 「見えない数学を、遊べる形にする」 という考え方が、SemanticTowerの中心にあります。
開発で意識したこと
今回の開発では、機能を増やすことよりも、短時間で伝わる体験を作ることを重視しました。
アプリを作っていると、どうしてもランキング機能や細かい設定画面、オンライン機能など色々なものを追加したくなります。ただ、審査員が短い時間で作品を体験することを考えると、最初の数十秒で「何をするアプリなのか」「何が面白いのか」が伝わる必要があります。
そのため、SemanticTowerでは体験をかなり絞り、ユーザーがやることは基本的に「単語を書いて、意味の近さを考えながら狙ったところにディスクを積む」というシンプルな操作だけにしました。
また、Appleのプラットフォームらしさも意識し、以下の技術を自然な形で組み合わせました。
- SwiftUI によるシンプルなUI
- SceneKit による3D表現
- Natural Language framework (NLEmbedding) による自然言語処理
単に「Swiftで書いたアプリ」ではなく、 「Appleの技術だからこそ成立する体験」 にすることを意識しました。
Appleの評価軸に対して意識したこと
技術力だけで勝負せず、作品全体として何を伝えたいのかを大切にしました。主に次の4つの観点を意識しました。
1. Innovation(新しさ)
SemanticTowerの新しさは、単語の意味的な近さを、単なるグラフや表ではなく 「物理的なゲーム」 として表現した点にあります。単語ベクトルの可視化自体は研究や教育の文脈にありますが、多くは2次元プロットなどの専門的な図です。それを「塔を積む」というルールに変換し、ゲーム的な失敗や成功を通して意味空間を理解できるようにしました。
2. Creativity(表現の工夫)
「意味」を「重さ」や「位置」という別の感覚に置き換える表現にこだわりました。抽象的な概念をそのまま説明するのではなく、少し遊びに近い感覚に落とし込むことで、自然と言語処理の世界に親しめるよう工夫しています。
3. Social Impact(誰のどんな課題を解くか)
AIや情報科学の基礎概念が、多くの人にとって見えにくいという問題を解決したいと考えました。今後AIが社会に普及していく中で、検索やチャットAIの基礎となっている「言葉がベクトルとして扱われる」という仕組みを、中高生やプログラミング初学者が直感的に触れる入口になることを目指しました。
4. Inclusivity(誰にとっても使いやすいか)
アクセシビリティを考慮し、体験の中心をシンプルにしました。AIや数学に関する膨大な説明を一度に表示するのではなく、必要な情報を段階的に見せることで、初見の人でも迷わない構成にしています。数字が苦手な人でも、塔が安定するかどうかを見ることで直感的に意味の関係性を感じ取れます。
応募フォームで意識したこと
Swift Student Challengeでは、応募フォームの記述(英語でのエッセイなど)がかなり重要になります。アプリに込めた思いや問題意識をエッセイ(各項目200word以内)で補う必要があります。
📄 主な提出項目
- アプリ名 / スクリーンショット3枚
- アプリが解決しようとしている問題 / 誰にとって役立つのか
- アクセシビリティをどう考慮したか
- 使用した技術と、その技術を選んだ理由
- AIツールの使用有無 / コミュニティへの貢献など
技術名を単に列挙するのではなく、「技術の説明」ではなく「体験の説明」として書くことを意識しました。
- SceneKit: 単に3D表示をするためではなく、「意味の距離」を物理的な安定性として体験させるため。
- NLEmbedding: 外部APIや巨大なモデルを使わず、25MB制限の中で意味ベクトルを扱うため。
- Vision: 手書き入力によって、ユーザーが自分の言葉をアプリに持ち込めるようにするため。
- AVAudioEngine: 音声ファイルを含めずに効果音をプログラムで生成し、容量を削減するため。
💡 自分の経験と作品をつなげる
応募フォームでは、自分自身の経験と作品を繋げてストーリー化しました。 私の場合、学習塾で数学を教えている経験から、「抽象概念を直感的に構造として理解できると強い」という実感がありました。その感覚をAIの世界にも持ち込みたい、という動機を説明しました。単発の思いつきではなく、これまでの関心や経験の延長線上にあることを伝えることで、作品の説得力が格好に上がったと思います。
📸 スクリーンショットの工夫
3枚のスクリーンショットは「プレゼン資料」として捉え、以下のように構成しました。
- 1枚目:アプリの全体像が分かる画面
- 2枚目:実際にユーザーが操作している様子が分かる画面
- 3枚目:作品ならではの特徴(単語ディスクが積み上がっている様子)が一番伝わる画面
初見の審査員がひと目で「何をするものか」を理解できるよう、UIの文字量やオブジェクト数を調整しました。
25MB制限とオフライン動作、AIツールの使用について
📁 容量制限へのアプローチ
2026年の要項である「ZIPで最大25MB、かつオフライン動作」はAI系アプリには厳しい制約です。しかし、今回はAppleの標準フレームワークを活用することで逆手に取りました。 大きな外部モデルを同梱する代わりに NLEmbedding を使い、画像や音声アセットを大量に積む代わりに Core Graphics や AVAudioEngine でコードベースの生成を行いました。標準機能をどう組み合わせるかが鍵になります。
🤖 AIツールの申告
応募フォームのAI使用申告欄には、使用したことを正直に書きました。 具体的には「多数の単語に対するカテゴリやアイコン、形状の割り当て・データ整理などの反復作業」にAIを活用し、「作品のコンセプト、ゲーム設計、NLEmbeddingを物理演算に接続する核心部分の実装判断はすべて自分で行った」と、利用範囲を誠実に切り分けて説明しました。
通過のために大事だと感じたこと(まとめ)
審査基準の公式な意図は分かりませんが、一応募者として以下の5点が重要だったと感じています。
- 作品のテーマを一文で言えるようにする
- SemanticTowerなら「言葉の意味の近さを、3D空間と物理演算を通して直感的に体験するアプリ」。一文が決まると、ブレがなくなります。
- Appleの技術を「自然に」使う
- 技術の詰め込みではなく、「この体験を作るために、この技術が必要だった」という関係性を作ること。
- 3分以内で伝わる体験にする
- 最初の数十秒で操作が分かり、終わったあとに「なるほど」と理解が変わる密度の高い流れ。
- 応募フォームの文章を作品の一部として考える
- なぜ自分が作ったのか、自身の経験(私の場合は塾講師やLLMViewの開発)と結びつけてオリジナリティを出す。
- 小さくても完成した体験にする
- 機能が多い未完成品より、機能を絞っても物理挙動・見た目・音がバグなく一貫している完成度を重視する。
⚠️ 反省点:これから応募する人へ
一番の反省点は、開発スケジュールに余裕がなかったことです。
締め切り(日本時間3月1日夕方)の2週間前まで大学の試験等がぎっしり入っており、構想はメモにまとめていたものの、実装を2週間で一気に行うことになりました。そのため、UIの細かなブラッシュアップにかける時間が足りず、もっとスタイリッシュにしたかったという心残りがあります。
さらに、提出日当日はバイトが入っており、その後友達に誘われた徹夜ドライブの車内(助手席)で、必死にChatGPTやDeepLと格闘しながら英語の応募フォームを書いていました。結果的にがっつり車酔いしてしまい、友達に休憩を入れてもらったり充電コードを借りたりと、多大な迷惑をかけてしまいました(友達には感謝しかありません)。
🌄 その時に車内から見た日の出の写真を貼っておきます。 (ここに写真を挿入)
💡 役立つアドバイス
- 別端末での起動確認を必ずすること:自分はiPadでのみ確認し、なんとかなる精神で出しましたが、事前に別環境でZIPを展開して動くか試すべきです。
- 英語のエッセイは早めに用意する:200words以内という制約は思ったより短いです。削る作業に時間がかかるため、プロダクトのピッチ(提案)のように要点を絞る訓練をしておくと良いです。
最後に
最終的に強い作品になるのは、 「自分の関心や経験と深くつながっているもの」 だと思います。
受賞を狙うために「Appleにウケそうなもの」に寄せるだけでなく、勉強、生活、趣味、家族、アクセシビリティなど、自分が本当に課題に感じた身近なことを起点にしてみてください。それを3分以内の Playground に落とし込むことこそが、Swift Student Challengeの醍醐味です。
今回の受賞を自信に、これからも「見えにくい複雑な仕組みを、触れる・遊べる形に変換する」挑戦を続けていきたいと思います。これから応募する皆さんも、技術力だけでなく、自分の問題意識や体験設計を大切に楽しんで作ってみてください!