I Built an AI Physics Practice Website for My Son by Voice-Coding on My Phone

By VISCJuly 25, 2026

AI physics practice website

Before the May Day holiday, after Nanjing’s first mock high-school entrance exam, I reviewed my son’s paper and found that he was still weak on some “common-sense” physics questions. They looked simple, but his answers revealed that his knowledge was not solid or broad enough.

I wanted to find similar questions for him to practice. I did not want to search for them myself, and I did not even want to open a computer.

So I went directly to a programming channel in Discord, which I had already connected to OpenClaw, and used voice-to-text on my phone to describe the initial request:

Build an AI learning website for my son that can:

  1. Generate a chosen number of questions by subject and topic.
  2. Run an online test, score it automatically, and provide answers and explanations.
  3. Print both questions and answers.
  4. Add incorrect answers to a mistake notebook.
  5. Select mistakes and generate similar questions for another test.

The additional constraints were equally clear:

  • Location: Nanjing, Jiangsu Province
  • Subject: Physics
  • Textbook: Jiangsu Education Press edition

OpenClaw first organized the requirements and asked me to confirm them. I added and adjusted details based on what I actually wanted. Once I approved the plan, it began developing.

The frontend came together quickly

The first version mainly involved frontend pages and interaction logic, so development moved fast. It was not long before the basic framework was ready.

But it still could not generate real questions. The pages and interactions existed, but question generation required an AI model.

Connecting an AI model was straightforward

OpenClaw then asked which AI service I wanted to connect: DeepSeek, ChatGPT, or another model.

I chose none of those at first. For testing, I connected a free model through OpenRouter.

OpenClaw guided me through registering for OpenRouter and configuring the required credentials, then connected the model automatically. The feature set was nearly complete, but the site still needed a public address. That meant deployment.

I deployed it with GitHub and Vercel

My process was:

  • Ask OpenClaw to create a GitHub repository.
  • Let it push the program it had just written to that repository.
  • Sign in to Vercel and deploy it.
  • Open the finished AI learning tool from its published address.

Not knowing the individual steps was not a major obstacle. OpenClaw could guide account setup and repository access, push the code itself, and explain the Vercel steps on a phone.

It was usable in under an hour

After deployment, I asked OpenClaw to refine the frontend, remove repeated options, and make the flow easier to use.

From start to finish, it probably took less than an hour before the tool could be used in practice.

That was not completely surprising to me; I had already used my phone to complete programming tasks many times. What mattered here was that this was not a demonstration of “AI writing code.” It solved a concrete problem: creating targeted practice for my child.

A useful product must be tuned, not merely built

Once the site worked, I did not stop at “it runs.” I used it to generate real questions, printed them, and gave them to my son.

Then I improved the product from his feedback. He told me that:

  1. These physics questions were mostly multiple-choice, with some fill-in-the-blank questions.
  2. Many blanks simply asked for units.
  3. One question often combined several knowledge points.
  4. The set should cover the full range of topics instead of repeatedly testing only a few.

This feedback was essential. The issue was no longer whether the program worked, but whether the questions resembled a real examination and could genuinely help him.

I passed those requirements back to OpenClaw and asked it to adjust the tool. Through these small iterations, it became increasingly practical.

I worried that free models would generate unreliable questions

At first, I wondered whether questions generated by a free OpenRouter model could be trusted. This was not marketing copy or a decorative web page. It was study material for a child. Poor or inaccurate questions might do more harm than good.

In actual use, my conclusion was that a free model could still produce a workable first version if the requirements and constraints were detailed enough, and if I was willing to keep adjusting it based on real results.

The most expensive and capable model is not always necessary at the beginning. It can be more reasonable to connect the workflow, build the product, clarify the real need through use, and decide later whether a model upgrade is worthwhile.

The experience confirmed something for me

The value of AI coding is not simply that AI can write code. Its real value appears when you have a practical need and it can help you turn that need into something real, step by step.

You do not necessarily need to know how to program. You do not need to understand frontend development, deployment, or model integration in advance. Many things that once sounded highly technical can now be completed on a phone through conversation.

And the problem being solved does not have to be abstract:

I wanted to help my child practice more effectively, so I built the tool he needed.

That, to me, is where AI coding becomes genuinely valuable.