My elementary English learning site is stuck on the backend and speech recognition—any ideas?

A friend of mine is an elementary school English teacher. They used to have an off-the-shelf tool, but for various reasons they could no longer keep using it. The friend felt that students really did need features like audio playback, read-along practice, and daily check-ins, so they used WorkBuddy to cobble together a small purely frontend website for the children in their grade to use first.

There was no technical support from the school and no real project budget. Basically, the teacher was tinkering with it in their spare time. The idea was simple: try it with a small group first, keep improving it if it proved useful, and drop it if it didn’t.

A while ago, they came to me because there were a few problems they really couldn’t solve. Seeing how exhausting it was for an English teacher to modify webpages and test mobile compatibility on their own, I offered to help sort out the technical side. Once everything was stable, I would hand it back to them to maintain themselves.

I first fixed some bugs on the original pages and made a few compatibility and interaction improvements. The purely frontend part is basically usable now. The real sticking points are still the backend, data storage, and speech recognition.

The current read-along feature mainly relies on the browser’s built-in speech recognition. It is sometimes passable on computers, but in practice the students and parents mostly access it on their phones. Different Android browsers, WeChat’s built-in browser, and Safari behave very differently: some work, some do not support it at all, and some work today but fail to recognize anything tomorrow. The accuracy is also rather unpredictable.

So I feel that we will probably need a simple backend eventually, sending recordings to the server and then connecting to a professional speech-recognition service such as iFlytek or Tencent. The requirements are actually modest: we are not looking for professional phoneme-level pronunciation assessment. Being able to recognize elementary-school English words and short sentences reasonably reliably would be enough. I looked into these services, and most of them offer some amount of free usage, but I have no idea whether it would be enough for a group of students using it long term or what the costs would roughly be.

Another fairly practical issue is learning records.

Right now, all the data is stored locally in the browser. The teacher cannot see whether students have studied or how far they have progressed. If parents switch browsers or phones, their previous records disappear too. So since we are preparing to build a backend anyway, it seems we should also have a simple database to synchronize learning progress, check-ins, and similar data.

There are also deployment and domain-name issues.

WorkBuddy is quite convenient for building a purely frontend site, but the published URL is not ideal for sending to parents over the long term, and custom domains are rather restricted. Later, I applied for a free second-level domain on our site and pointed it to CF Pages with a CNAME. The frontend is now running normally.

I have no problem using CF Pages myself, but ultimately this will have to be handed back to the teacher. Editing content, redeploying, and troubleshooting problems are still somewhat difficult for someone with no technical background. Besides, what is missing now is no longer just static hosting; we will also need a database and a speech-recognition API. So I want to see whether there is a more convenient overall solution.

I only learned about CodeBuddy and CloudBase after doing some research over the past couple of days, but they seem to involve custom domains and ICP filing requirements. I also looked into CF Workers + D1. The cost does seem low and the functionality seems sufficient, but on the one hand I would probably end up responsible for maintenance later, and on the other hand I do not really dare rely on workers.dev for long-term use by a group of students and parents in mainland China, given its accessibility there.

To be honest, I do not normally build websites either. I have mostly been looking things up and learning as I go recently, so I am not really sure which direction to take now.

The requirements are actually quite simple: reasonably stable access from mainland China, the ability to run a little backend code, a small database, and a secure way to call a speech-recognition API. The initial number of users should be small—we would start by testing it with a single grade—and ideally it should run with minimal fuss for about a year. If it eventually proves genuinely useful, we can then consider properly buying a server, completing the ICP filing, and paying for the API.

So I wanted to ask all you MJJ: are there any suitable solutions for a small, noncommercial educational website like this?

What I care about most right now is stable access from mainland China, simple maintenance, and keeping costs as low as possible, preferably with some free usage included. I am open to any combination of server, database, speech recognition, and domain services. I do not have a preconceived solution; I mainly want to hear which options people have actually used and found reliable, so I can avoid some pitfalls.

If any cloud provider or speech service happens to offer free quotas or developer promotions suitable for a small project like this, I would also appreciate any recommendations. And if any MJJ has an idle VPS or other resources they would be willing to lend for testing for a while, I would be even more grateful. But the main thing is to understand the solution first—I do not want to pile together a whole stack at the beginning that nobody will be able to maintain in the end.

There are currently no plans to commercialize the project. The teacher simply feels that the children genuinely need it and is willing to spend time building it, so I am helping support the technical side while I can.

If anyone has had similar experience, I would really appreciate your advice.

This project is so great! Your teacher friends are also very enthusiastic and eager to learn these things, teach children, and share their learning progress. That’s wonderful—thumbs up to you and your friends!

I feel like a small VPS could handle 2 cores and 2 GB of RAM with an SQL backend. Get a plan with a bit more bandwidth and it should be more than enough. You can get a free domain from the site.

Tencent Cloud CloudBase + Tencent Speech Recognition + Cloudflare Domain Management + Vue Frontend.

Thanks for the expert’s recognition and thoughtful answers :folded_hands:. This project is mainly something the friends and teachers wanted to tinker with themselves; being able to help the children makes it meaningful.

I did consider CloudBase, but I haven’t actually used it before and don’t know much about it, so I never settled on a solution.
I currently have a few main questions:

1.Speech recognition
The frontend currently uses the speech recognition built into the browser. It works fairly well on computers, but testing on mobile devices has shown relatively poor results, with differences in browser compatibility and recognition accuracy.
That’s why I’m considering connecting to speech recognition services from Tencent, iFlytek, and similar providers later on.
However, this would probably still require a backend to proxy the API requests; otherwise, API keys and security controls would be difficult to handle.

2.CloudBase solution
The combination of Tencent CloudBase and Tencent Speech Recognition seems quite suitable for a small project like this, so I’ll look into it further.
I’d like to ask a few questions:

  • In the mainland China environment, is ICP filing required for a custom domain on CloudBase?
  • If CloudBase Cloud Functions are used to call the speech recognition service, what is the actual maintenance cost?
  • Would the free quota be sufficient for a small-scale pilot like this?

3.Server solution
If I don’t use CloudBase, are there any free or low-cost lightweight servers suitable for this scenario?

The requirements are actually quite simple:

  • A simple backend
  • A small database
  • Calling a speech recognition API

The number of users probably won’t be large at first; the main hope is to ensure relatively stable access from within China.

Thanks again for your suggestions. I’ll look into the CloudBase route further.

It should be able to perform speech recognition.

I recommend a MySQL service with a free tier: sqlpub.com,

Of course, English speech recognition calls for Microsoft’s service—perfect for correcting your American English pronunciation.

Take a look at this post—I previously found some relevant information for someone. 【悬赏1000NL】有无英语口语检测的api或者ai - #9,来自 fiona

Use only solutions from domestic vendors.

The server still needs to be deployed in China; even completing the ICP filing would be fine. We can just grab a few free Huawei Cloud VPSes. All the TTS providers offer free quotas, so apply for each one and round-robin between them.

If your finances aren’t tight, a budget of 300 yuan should be enough. Spend 99 yuan on a small VPS with 2 vCPUs and 2 GB of RAM, and set aside 200 yuan for API calls over the coming year. This can save you a lot of time and hassle, and your time is valuable too—don’t waste it casually.

I forgot about the domain cost. Take a few dozen yuan out of the 200-yuan API budget to buy a domain and get it registered. Stability and peace of mind come first here—don’t wear yourself out messing around with free options.

You could try Aidiandu (爱点读). I use it for my child, and it’s pretty good.

A good person and a good teacher

Hmm, thanks, moderator. Given the network conditions, we’re currently all using domestic service providers.

This is pretty good. I’m currently validating the sherpa-onnx WASM + English Streaming Zipformer 20M INT8 local ASR solution. Thank you very much! :folded_hands:

Thanks! I’d only known about services like Supabase and TiDB Cloud before, but SQLPub looks pretty good too. I’ll consider it.

Thanks so much! I carefully read through your post—it was very detailed :+1:. Children’s pronunciation differs from adults’, and given the privacy concerns, Azure Pronunciation Assessment will remain a backup option for now.

Thanks, site admin! Could you please tell me how to claim the Huawei Cloud free offer? :baby_chick: