Sloth Coach 讓 Gemma 在瀏覽器內解釋日本特定技能建築考試錯題
My students kept getting the same exam questions wrong, so I let a small model explain them at 2am
作者為日本特定技能簽證建築考試製作 Sloth Coach,讓 Gemma 在瀏覽器內以用戶選擇的語言解釋答錯題目。工具透過 WebLLM 和 WebGPU 運行 Gemma,提供中文、English、Tiếng Việt、Bahasa Indonesia 和 やさしい日本語解釋;挑戰賽示範版包含 22 道作者編寫的題目。
DEV Community
0 Add reaction
0 Like
0 Unicorn
0 Exploding Head
0 Raised Hands
0 Fire
0 Jump to Comments 0 Save Boost
Pick as gem
Copy link
Copied to Clipboard
Share to XShare to LinkedInShare to FacebookShare to Mastodon
jiang tao Posted on Oct 21
My students kept getting the same exam questions wrong, so I let a small model explain them at 2am
#devchallenge#hf26challenge#gemma#webdev
Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady Submission 🦥
--This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady*
What I Built
I run a small study site called tokutegino. It helps foreign workers in Japan prepare for the construction exam of the Specified Skilled Worker visa (特定技能). There are 1,058 questions, and every one is available in five languages.
The questions were never the hard part. The hard part is the moment after you get one wrong.
Most of my users work on building sites all day. They study on the train or in bed, tired, on a cheap phone. When they miss a question about scaffolding or a safety sign, the site shows the right answer. That's it. If they want to know why, they copy the Japanese into a translator, then search, then give up.
So I built Sloth Coach. When you get a question wrong, Gemma runs inside your browser and explains it in your language, in two or three plain sentences: 中文, English, Tiếng Việt, Bahasa Indonesia, or やさしい日本語. At the end of a session it writes a short list for tomorrow: the questions to look at again, and why.
You don't search. You don't translate. You don't decide what to review. You keep answering, and the list is waiting when you come back. That's the lazy part. After a ten-hour shift, it matters.
Demo
Try it here: https://tokutei-sloth-coach.taojianghu.workers.dev/
Open it in Chrome or Edge with WebGPU, pick your language, and press "Load model". A session is 10 questions. Get a few wrong on purpose, and after the tenth you see tomorrow's review list. No WebGPU? You can still practise, and you get my reference note for each mistake instead of the rewrite.
The demo uses 22 sample questions I wrote for this challenge. They cover scaffolding, fall protection, ladders, weather limits, licences, oxygen deficiency, safety colours, and KY activity.
Code
LANGTAOSHA-prog / tokutei-sloth-coach
🦥 Sloth Coach
A lazy mistake coach for the Japanese Specified Skilled Worker (特定技能) construction exam.
Get a question wrong and Gemma runs inside your browser (WebLLM + WebGPU) to explain why, in your own language: 中文, English, Tiếng Việt, Bahasa Indonesia, or やさしい日本語. At the end of a session it writes tomorrow's review list from your past mistakes.
- No server, no API key, no account
- The model downloads once, then works offline
- Your mistakes stay in your browser's localStorage
Built for the DEV Hacktoberfest Open-Source AI Challenge, Week 3: Slow and Steady.
Models
| WebLLM model id | Notes |
|---|---|
gemma3-1b-it-q4f16_1-MLC |
Default. Smallest download, runs on many phones |
gemma-2-2b-it-q4f16_1-MLC |
Better explanations, bigger download |
gemma-4-E2B-it-q4f16_1-MLC |
Newest Gemma, largest |
How it stays honest
A 1B model doesn't know Japanese safety law. So it is never asked to. Each question ships with a short reference note, and the prompt tells the model to…
How I Built It
The whole thing is three static files. No backend, no API key, no account.
- Model: Gemma 3 1B (instruction tuned, 4-bit,
gemma3-1b-it-q4f16_1-MLC), running in the browser through WebLLM on WebGPU. You can switch to Gemma 2 2B or Gemma 4 E2B if your device can handle a bigger download. - Data: the questions live in
questions.json. Each one has the choices, the answer, and a short reference note I wrote myself. - Prompt: a 1B model doesn't know Japanese safety law, so I never ask it to. It gets the question, the learner's wrong choice, the right choice, and my note. Its only job is to rewrite that note for this person, in their language. Japanese technical words stay in Japanese with a short meaning, because that's what they'll see on the real exam.
- Language: the instruction "Answer only in [language]" goes at the very end of the prompt. Small models drift between languages, and the last line is the one they follow best.
- Review list: wrong answers go into
localStorage. When the session ends, you get the list of what you missed, and the model writes a three-line plan for tomorrow's 10-minute review: which topic first, and why. The next session puts those questions at the front automatically. - Hosting: a free Cloudflare Worker.
The default model is about 0.9 GB and downloads once. After that it's cached, and the coach works offline.
Why Does Open Innovation Matter?
For this project, a closed API was never a real option.
Money first. My users pay a few hundred yen, once. If every explanation cost me an API call, one heavy user studying every night would eat their whole payment. With an open model in the browser, each explanation costs me nothing. I set it up once and stop thinking about it.
Then connection. A lot of studying happens on the subway or in dorms with weak Wi-Fi. Once the model is cached, nothing needs the network.
Then privacy. Which questions someone keeps failing is personal. It says a lot about their Japanese and their chances on the exam. None of it leaves their phone.
And open weights mean I can test the explanations in all five languages myself, and swap in a better small model the day one comes out. I'm not waiting on anyone's pricing page.
The Lazy Payoff
Before: get a question wrong, copy the Japanese, paste it into a translator, search for the rule, try to remember it tomorrow. On a tired night, most people skip all of it.
Now: get a question wrong, read two sentences in your own language. Tomorrow's review list writes itself.
Four steps became zero. The learner's only job is to keep answering.
Prize Categories
Best Use of Gemma
Tiger Data (Creators of TimescaleDB)Promoted
Agent Memory Is a Search Problem, Not a Storage Problem ❌
Long-term conversational memory is the ability to recall and reason over months of past conversations. It is one of the hardest unsolved problems in AI assistants, and the field has converged on a shared assumption about how to solve it.
Read More
Top comments (0)
Subscribe

Personal Trusted UserCreate template Templates let you quickly answer FAQs or store snippets for re-use.
Submit PreviewDismiss
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
- [x] Hide child comments as well
Confirm
For further actions, you may consider blocking this person and/or reporting abuse
Google CloudPromoted
99.99% Uptime for MySQL and PostgreSQL Databases
SentryPromoted
Smarter debugging with Sentry MCP and Cursor
No more copying and pasting error messages, logs, or trying to describe your distributed tracing setup or stack traces in chat. MCP can investigate real issues, understand their impact, and suggest fixes based on the actual production context.
Follow
- Joined Oct 21, 2026
Trending on DEV Community
🐾 DEV Pet Corner #2: Show Us Your Pets! #discuss#community#watercooler#pets
Running multiple Claude Code agents in parallel: what worktrees cannot see #ai#git#devtools#productivity
HustleRadar: Live Resale Evidence with SerpApi and Gemma 2 #hf26challenge#devchallenge#ai#sidehustle
Google CloudPromoted
Train ML Models With SQL You Already Know
SentryPromoted
npx @sentry/wizard@latest -i nextjs
👋 Kindness is contagious
If this **helped , please leave a ❤️ or a friendly comment!
Okay
DEV Community — A space to discuss and keep up software development and manage your software career
Built on Forem — the open source software that powers DEV and other inclusive communities.
Made with love and Ruby on Rails. DEV Community © 2016 - 2026.

We're a place where coders share, stay up-to-date and grow their careers.
來源:DEV Community · dev.to





jiang tao