Technical checkpoint

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 below. Enjoy!


This is not a release announcement. It is a technical checkpoint for the current WhackSmacker module and content-package work.

Local-first modules

WhackSmacker is moving toward local-first installable modules. The app is not meant to ship as one hard-coded pile of lessons. Language curricula live in their own source repositories, packages are generated from those sources, and the app installs those packages into a local data directory.

This separation matters because WhackSmacker is not meant to be a single hard-coded pile of lessons. The app, content packages, and user progress state are separate parts of the system.

curriculum repo
  -> generated .wspkg package
  -> local catalogue
  -> installed module
  -> readable content
  -> review deck
  -> local progress state

Current package set

The current all-module smoke test generated nine language packages:

The terminal module installer can populate available modules from a catalogue with --catalogue. In the two-pane terminal tree, Space installs the selected available module, Enter opens, expands, or shows information, and same-version packages report Already installed rather than silently replacing package data.

Review sources

Review decks are enabled where the deck format is currently settled:

Japanese Core review decks and Mandarin Core review decks are intentionally paused while the deck format is being decided. The existing Traditional Mandarin Pinyin/Zhuyin conversion decks remain active, and the Simplified Mandarin package currently has no review sources.

Progress state

Review progress is stored outside installed packages. Installed package content should stay read-only. User progress lives under the selected data directory, separate from package files, so package reinstall or replacement does not imply deleting review history.

Validation baseline

The latest checkpoint passed the local validation baseline:

Rough edges

There are still rough edges worth calling out plainly:

Next steps