ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Adaptive German A1 trainer (Netzwerk neu): 12k questions, spaced repetition, listening, writing and speaking practice
Translation pending
EducationPython · HTMLGitHub @codebyharshitOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗One self-contained web page with four parts:
python3 build.py # -> dist/a1-trainer.html (+ dist/index.html), dist/questions.json
No dependencies beyond Python 3.
data/dictionary.json nouns: n=noun a=article e=english p=plural r=reason x=note t=topic
gen/topics.py topics (course order), lessons, structure labels
gen/verbs.py A1 verbs + conjugation / imperative helpers
gen/nouns.py curated A1 nouns used in sentence templates
gen/generators.py template generators (verbs, articles, Akkusativ, Dativ, Perfekt …)
gen/more.py wider generators (time, dates, numbers, pronouns, Wechselpräp., …) + vocabulary topics
gen/manual.py hand-written questions (W-questions, connectors, everyday phrases …)
gen/manual2.py more hand-written questions
gen/manual3.py Akkusativ prepositions, comparison, countries, Dativ possessives, doch …
gen/wordlist.py A1 verbs, adjectives and small words (meaning, opposite)
gen/core.py question format + helpers
web/template.html the app (vanilla JS, no build step)
Hand-written questions use a tiny spec: segments separated by /, each text#LABEL,
and {…} marks the gap. Options list the correct answer first; why explains wrong options.
add("akk", "Ich#S / kaufe#V / {einen} Apfel.#AKK", ["einen", "ein", "einem"],
"der Apfel → einen Apfel (Akkusativ).",
{"ein": "ein is Nominativ.", "einem": "einem is Dativ."})
Labels: S, V, V1, IMP, MV, HV, INF, P2, PRE, AKK, DAT, NOM, ZEIT, ORT, W, ADJ, KON, NEG, ADV.
Collection data/users/<you> (or localStorage a1trainer-v1 in a plain browser): q_<id> quiz mistakes,
a_<hash> article mistakes, stats, p_<topic> per-question progress {qid: [box, dueMinute, seen, right, lastMinute]},
and meta (answers per day, the question currently on screen).
Each mistake keeps the prompt, your answers, the correct answer, the rule, how often you got it
wrong, and whether it's learned (2 right answers in a row).
Dictionary sources: Wiktionary (via kaikki.org, CC BY-SA) for gender/plural/meaning, OpenSubtitles frequency list (hermitdave/FrequencyWords) and the Leipzig Corpora word list for ranking. Article reasons are computed from suffix/compound rules and hand-checked for A1 words.