A mahjong AI that critiques your every discard
Feed your tenhou.net or Mahjong Soul logs to an AI engine and get an HTML report card on every questionable discard.

What it does mjai-reviewer ingests game logs from tenhou.net, local JSON files, or Mahjong Soul and replays them through an mjai-compatible AI engine such as Mortal or akochan. It then renders an HTML report comparing the AI’s recommended moves with your actual discards, calls, and riichi timings. The whole thing is written in Rust, with a hosted web app available for players who would rather not compile C++ dependencies locally.
The interesting bit The project decouples log parsing and report generation from the AI engines themselves via the mjai protocol, so you can swap between Mortal and akochan without changing your workflow. That same abstraction powers a free, zero-install web frontend for Mahjong Soul replays—effectively hiding an entire build-the-C++-engine pipeline behind a browser tab.
Key highlights
- Supports both Mortal and akochan engines under a unified mjai interface.
- Generates self-contained HTML reports visualizing AI-vs-human decision deltas.
- Hosted web app at
mjai.ekyu.moehandles Mahjong Soul logs without local setup. - Can target specific rounds (e.g.,
E2.1,E3) instead of reviewing an entire match. - Version 1.x is a breaking rewrite; the 0.x branch lives on as
akochan-reviewer.
Caveats
- The Docker image is unmaintained and bundles only the akochan engine.
- Running the Mortal engine requires a trained model file that is not bundled in this repository.
- Building the akochan engine locally involves editing Makefiles and managing Boost paths, with platform-specific quirks like
OMP_NUM_THREADSlimits on Windows.
Verdict Worth a look if you play riichi mahjong online and want data-driven feedback on specific decisions; skip it if you have no interest in post-game analysis or if wrestling with C++ build toolchains sounds worse than a bad round.
Frequently asked
- What is Equim-chan/mjai-reviewer?
- Feed your tenhou.net or Mahjong Soul logs to an AI engine and get an HTML report card on every questionable discard.
- Is mjai-reviewer open source?
- Yes — Equim-chan/mjai-reviewer is open source, released under the Apache-2.0 license.
- What language is mjai-reviewer written in?
- Equim-chan/mjai-reviewer is primarily written in Rust.
- How popular is mjai-reviewer?
- Equim-chan/mjai-reviewer has 1.2k stars on GitHub.
- Where can I find mjai-reviewer?
- Equim-chan/mjai-reviewer is on GitHub at https://github.com/Equim-chan/mjai-reviewer.