OpenAI Codexで簡単なWebアプリを作成してみる
概要
今回は ChatGPT5 Codex を使って、コードを書かずに Web アプリを作成してみたいと思います。
テーマは、娘が高校受験を控えているので、英単語クイズアプリにしました。
勉強に役立ててもらえたらうれしいです。
手順
(1) VSCodeに「Codex - OpenAI's coding agent」拡張をインストールします。

(2) Next.jsを使うことにしたので、環境を整えます。
$ nvm install --lts
$ nvm use --lts
Now using node v22.19.0 (npm v10.9.3)
$ node -v
v22.19.0
$ npm -v
10.9.3
(3) codexを使う準備をします。
$ sudo npm install -g @openai/codex
$ sudo npm install -g yarn
$ codex
初回実行時は、codexを有料版のChatGPIユーザーで利用するか、従量課金のResponses APIを利用するかを選択する画面が出てきます。ここでは、有料版のChatGPIユーザーを選択しました。
ブラウザが起動してOpenAIのログイン画面が出てくるので、ログインをしたらブラウザを閉じます。

You are running Codex in /mnt/data/Study/nextjs/eng-word-quiz
Since this folder is version controlled, you may wish to allow Codex
to work in this folder without asking for approval.
- Yes, allow Codex to work in this folder without asking for approval
- No, ask me to approve edits and commands
Press Enter to continue
╭─────────────────────────────────╮
│ >_ OpenAI Codex (v0.40.0) │
│ │
│ model: gpt-5-codex /model to change │
│ directory: /mnt/data/…/nextjs/eng-word-quiz │
╰─────────────────────────────────╯
To get started, describe a task or try one of these commands:
/init - create an AGENTS.md file with instructions for Codex
/status - show current session configuration
/approvals - choose what Codex can do without approval
/model - choose what model and reasoning effort to use
▌ Improve documentation in @filename
⏎ send Ctrl+J newline Ctrl+T transcript Ctrl+C quit
(4) 上記と違うターミナルで、eng-word-quizという名前のプロジェクトを作成します。
$ npx create-next-app@latest eng-word-quiz --use-yarn
✔ Would you like to use TypeScript? … No / **Yes**
✔ Which linter would you like to use? › **ESLint**
✔ Would you like to use Tailwind CSS? … No / **Yes**
✔ Would you like your code inside a `src/` directory? … **No** / Yes
✔ Would you like to use App Router? (recommended) … No / **Yes**
✔ Would you like to use Turbopack? (recommended) … **No** / Yes
✔ Would you like to customize the import alias (`@/*` by default)? … **No** / Yes
Creating a new Next.js app in /mnt/data/Study/nextjs/eng-word-quiz/eng-word-quiz.
(5) 動作確認をします。
$ cd eng-word-quiz/
$ npm run dev

(6) さて、準備は完了です。さっそくcodexを使っていきましょう。codexコマンドを実行したターミナルで/init
を実行します。
(7) Codexに指示を出すには、ターミナル上で行う方法(CLI版)と、下図のマークからCodexパネルを開いて、指示を入力する方法があります。

ここでは、ターミナル(CLI版)から次の指示を送信してみました。
スマートフォンからのアクセスを前提にしたWebアプリケーションを作成してください。英単語クイズのアプリで、英単語を表示し、その意味を5つの選択肢から選ぶというものです。
ディレクトリ内のファイルを読み込んで、いろいろ書き加えています。
しばらくすると、ブラウザが起動し実行結果が表示されました。

凄い! 良い感じです。
次の図は、正解をクリックしたときのレスポンスで、正しく動作しています。「次の問題へ」もきちんと動作し、プログレスバーも動いていました。

15問解いたあとは、正答率等の結果もきちんと表示され、「もう一度チャレンジ」を押せば、1問目から開始されます。

スマホから表示しても問題ありません。

次にcodexに、 問題の英単語を含む中学レベルの英文を表示し、問題対象の英単語には下線を引くようにしたいです。
という指示を飛ばしてみました。

このように少しずつ指示を出して、アプリを作成していくのが良いようです。
ある程度会話が続いたら、トークンを節約するために/compact
を実行して、会話を要約します。
/compact
> Compact task completed
最終的には、下記の機能を持ったアプリができあがりました。
- 認証機能
- ユーザーごとの学習履歴を管理
- 単語と例文の音声再生。正解・不正解時に音を出す。
- 1回の学習中に、間違えた問題を繰り返し出題
- 忘却曲線を考慮し、間違えた問題を後日、複数回出題
- 高校入試用の英単語からの出題


娘にアプリを紹介したところ、ハマったみたいで高校受験の範囲の30%くらいを一気にやってしまったようです。
この調子で、勉強を続けてくれたらいいな(笑)