Public development preview

WhackSmacker

language learning, review decks, and terminal-first chaos

WhackSmacker is a small, practical learning project built around curriculum packages, native review sources, package feeds, and a terminal-first workflow. It is not stable software yet. It is a public alpha workshop with the doors open.

Stylized terminal preview of WhackSmacker review sources

Current Status

Development state

  • Public alpha with accounts, curriculum reading, package installation, and review access.
  • Not stable, not polished, and not ready for serious study routines.
  • The core/curricula package split, installation path, and web reader are operational.
  • Dutch and Vietnamese are the first test curricula for a repeatable content-production workflow.
  • Docker builds are available, but they are still experimental.

What it is trying to be

A local-first learning tool where curriculum modules publish review sources, the app installs them from a catalogue, and learners review decks without pretending the project is finished.

Current build shape

The public alpha can install curriculum packages and expose reading and review material through the web reader. Current work is shifting toward normalizing authored Reading content, beginning with Dutch and then Vietnamese. Neither curriculum is claimed finished or production-ready.

Human Voice

Short project notes from Ashwin directly; for earlier voice acting please click here.

Reading as the Source of Truth

Now both the Dutch & Vietnamese curriculum have been revised. Now that I finally have understood how this all works these two curricula will serve as test ground. The next immediate goal is to get the reading content polished up to an acceptable level. Separate grammar and exercise input will follow in a later stage.

Core and Curricula Split

Today a shorter day, with mostly boring technical things and some licensing stuff. As a test I will produce a large body of Dutch learning content first, as that's my mother tongue, and then quickly implement other languages.

Alpha.2 Web Reader and Curriculum Polish

Mainly polishing. This is going pretty solid.

WhackSmacker Public Alpha Is Online

A lot got done, but the most important thing is that it's all online now. The rest is just fiddling in the margins. If you want to use this, use the CLI for now, that one is actually pretty usable. The web frontend is just pre-alpha.

CLI polish and Korean Chapter 40

Today the CLI got polished a bit more and some language chapters were added. For Korean we're at chapter 40, and it seems that we're getting into high beginner territory. Also implemented is Traditional Chinese as one of the UI languages, but a lot of polishing is needed still.

Basic CLI design finished

Today we finished the basic CLI design of WhackSmacker. Supernerds and absolute freaks can give it a shot at using. Or well, I do.

First Post

Hello everyone! Everything these days begins with a first post, so here it is. Yes, I am human, and yes, I’m writing this myself, but not for long. For the foreseeable future it will be my enormous guest, Mr./Mrs. Bot, who will provide the updates and all those things, starting now. Enjoy!

So why the name?

Hello everyone! It's me, your human host. So why the name you ask? Well you know, I just wasn't in the greatest mood the world has ever seen when I picked it, and then just stuck with it because why not.

Language And Content Status

All of this is still alpha. The app is usable for development testing and personal validation, not stable public study use. Review decks exist for multiple modules, but content quality is still being corrected.

Korean

Core curriculum exists and review decks are available in development builds.

Review deck present Content pass needed Notes/examples need polish

Chinese - Mandarin Traditional

Traditional Mandarin Chapters 1-5 are available in development builds with Traditional characters, Pinyin, Zhuyin, and a strict 120-card core review deck.

Available in development builds Chapter 1-5 deck present Pinyin + Zhuyin Strict examples passed

Chinese - Mandarin Simplified

Simplified Mandarin Chapters 1-5 are derived from the Traditional track, with matching content and Pinyin but Simplified characters.

Available in development builds Chapter 1-5 deck present Traditional-derived Not stable yet

Japanese

Curriculum exists and the Japanese review-card model is implemented. Japanese remains special until generated review decks are fully ready.

Available in development builds Special handling Generated decks not claimed complete

Vietnamese

The revised curriculum and its intended review collections package and install correctly. Reading-format validation now passes without changing the approved lesson content, while broader presentation and structural polish continue.

Curriculum revised Review collections present Reading checks pass Formatting polish continues

Dutch

Dutch Chapters 1-25 are available and the curriculum has been revised. Most content is already acceptable, so Dutch will be the first test for Reading-format normalization. A possible minor Chapter 18 issue will be reviewed once it is specified.

Chapters 1-25 Review material present First formatting test curriculum Chapter 18 review pending

German

Curriculum/module exists, but the status is still early and incomplete.

Early placeholder / incomplete Content pass needed

French

Curriculum/module exists, but the status is still early and incomplete.

Early placeholder / incomplete Content pass needed

Spanish

Curriculum/module exists, but the status is still early and incomplete.

Early placeholder / incomplete Content pass needed

Next major content milestone

Standardize and polish the Reading layer, beginning with Dutch and then applying the resulting format to Vietnamese. Reading is the authoritative source; Decks are already largely derived from it, while Grammar and Exercises will follow later. The reader will also eventually let learners show or hide translations.

Other Content Modules

Linguistic terminology

Terminology content exists as a separate support module for language-learning work.

Support module present Development build content

Math curriculum

Math curriculum content exists separately from the language-learning modules.

Module present Development build content

Modules, Packages, And Review Decks

Review sources

A review source is the thing a learner actually studies: a deck-like set of prompts, answers, notes, and examples. Current examples include Korean chapter ranges, Chinese pronunciation conversion, and the intended Vietnamese review collections.

One chapter, four connected parts

  1. Reading
  2. Deck
  3. Grammar
  4. Exercises

Reading is the source of truth. Decks, Grammar, and Exercises should be derived from approved Reading content rather than becoming separate, competing curricula.

Package feed

Modules are packaged and listed in a catalogue feed, currently exposed inside the Docker image at /feed/catalogue.json. The app can point at that catalogue and install the available learning packages.

Local progress

The CLI is designed around local data, local progress, and explicit data paths. That is why the Docker command below mounts a user-owned WhackSmacker data directory.

Still rough

The review interface, package metadata, examples, and language coverage are still moving. Expect sharp edges, missing polish, and occasional nonsense until the alpha line gets firmer.

Docker Preview

The current public development image is sleepiestmario/whacksmacker:0.1.0-alpha.3. It is an alpha convenience path, not a stable release channel.

docker run --rm -it \
  --user "$(id -u):$(id -g)" \
  -e HOME=/data \
  -v ~/.local/share/whacksmacker:/data \
  sleepiestmario/whacksmacker:0.1.0-alpha.3 \
  --data-dir /data \
  --catalogue /feed/catalogue.json

The --user and HOME=/data parts keep generated progress and data files owned by your normal user instead of root.

Packaging Roadmap

  1. Docker image
  2. Gentoo package validation
  3. Arch/AUR
  4. Debian/Ubuntu .deb
  5. Fedora/openSUSE/RHEL-family .rpm
  6. Generic Linux tarball/AppImage
  7. Maybe Flatpak/Snap/desktop wrapper later