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.