3月29日に「ラップのクイズアプリを作ろう」と決めてから、3月31日のv0.5リリースまでわずか3日。ラプる?は5回のバージョンアップを重ねて形になった。この記事では、初日だけで4バージョンを出すという異常なペースの開発プロセスを振り返る。
3日間で5バージョンリリース
各モードの機能詳細は紹介記事に譲り、ここでは「どう作ったか」にフォーカスする。構想から基盤構築、機能追加、ブラッシュアップまで、3日間で5つのバージョンを重ねた記録だ。
Day 1(3/29)— 基盤構築からv0.4まで
初日だけで4バージョンをリリースするという、驚異的なペースでした。
v0.1 — 骨格を一気に構築
- クイズの基本フロー(出題→回答→フィードバック→結果)を実装
- 「やめる」ボタンでクイズ中断機能を追加
- 「本サイトについて」ページを新規作成
- Firebase Analytics対応、楽天ウィジェット配置
- OGP/SEOメタデータ整備、Firebase Hosting用の静的エクスポート設定
v0.2 — ハードモードと収集要素
- ハードモード追加:「ぴったり/ふんわり/しない」の3択を実装
- 実績システム:13種類の実績とその表示ページ
- 食材図鑑:クイズで出会った食材を閲覧できる図鑑ページ
v0.3 — ビジュアル強化
- トップ画面にヘッダー画像を追加(8.4MB→326KBに最適化)
- 画面遷移時のスクロール位置リセット
- バージョン表記の統一
v0.4 — カオスモード爆誕
この日の最大の目玉が、カオスモードの追加です。
- カオスモード:「レンジに入れてOK/NG」を判定する新モード。食材43個(OK 20個 + NG 23個)
- 爆発エフェクト:NG食材をOKと答えた場合の爆発演出
- 漫画風吹き出し:レンジからの吹き出しリアクション
- 手元に残すアニメーション:NGと正しく回答した場合の演出
- SEO/OGP整備:各サブページにメタデータ追加、OG画像作成
初日だけで食材データの作成、3つのゲームモード、実績、図鑑、SEOを実装。特に食材88品のJSON構造化は手作業なら半日かかる規模だが、「食材名・ラップ要否・理由・カテゴリ」の構造を指定してAIに生成させたことで、30分ほどで完了した。自分はゲームロジックとUXに集中できた。
Day 2(3/30)— 整備と広告設定
2日目は比較的落ち着いた1日でした。
- 楽天ウィジェットの配置・設定
- CSSの整理(不要な@font-face宣言の削除)
- Claude設定の調整
「作る」フェーズから「整える」フェーズへの移行日。地味ですが、こうした整備作業がプロダクトの完成度を左右します。
Day 3(3/31)— 多言語化とv0.5リリース
3日目は大きな機能追加が2つ。
多言語対応(日本語・英語)
- i18n基盤を自前で構築(LanguageProvider, useLanguage(), t()関数)
- 約120キーのUIテキストを日英対応
- 食材88品・実績13個の英語翻訳
- 全コンポーネント・全ページを多言語化
- 言語設定のlocalStorage永続化
外部ライブラリを使わず、自前でi18nを構築したのには理由があります。このアプリの規模では、i18nextのような大きなライブラリを入れるのはオーバーキル。シンプルなContextベースのProviderで十分でした。
カオス図鑑とアニメーション改善
- カオスモードのNG食材を図鑑に登録できる機能を追加(ネタバレ防止の🔒表示付き)
- レンジ投げ込みアニメーションの改善(扉開→食材投入→扉閉→庫内発光)
- 庫内の光が窓ガラス部分のみ表示されるよう修正
v0.5 — 効果音とドメイン移行
- 効果音追加:出題音、正解音、不正解音、爆発音、電子レンジの「チン」音
- ドメイン移行:wrapuru.thekarou.comに変更
- Firebase移行:新プロジェクトへの移行完了
「量産」ではなく「分担」
3日で5バージョンと聞くと「雑に量産したのでは?」と思われるかもしれない。しかし実態は逆で、人間とAIの役割分担がうまく噛み合った結果だ。
- AIが得意な仕事:食材88品のデータ構造化、英語翻訳、ボイラープレートの生成。人間がやれば丸1日かかる「量が多いが方針は明確」な作業をAIに任せた。
- 人間にしかできない仕事:爆発エフェクトが「気持ちいい」かどうか、吹き出しのセリフが「面白い」かどうか。こうした感覚的な判断は、自分の目で確認して微調整した。
- バージョン刻みの意図:v0.1で骨格、v0.2で深み、v0.3で見た目、v0.4で遊び心、v0.5で仕上げ。各バージョンに「今日はここまで」というゴールを設けることで、判断の疲労を防いだ。
「ラップする?しない?」という一見シンプルなテーマでも、モード設計、演出、収集要素、多言語対応と掘り下げればやることは山ほどある。テーマが身近であるほど、ディテールの質が試される。