Journal Genius v2 is an arcade-style accounting game that teaches double-entry bookkeeping through fast-paced, interactive play. The core mechanic is simple: accounting entries fall from the top of the screen, and the player must correctly classify each one as either a Debit or a Credit before it reaches the bottom.

How It Works

Each round presents a sequence of accounts drawn from a structured dataset of assets, liabilities, equity, revenue, and expense accounts. The player uses the arrow keys or on-screen buttons to assign each falling card to the correct side of the ledger. A correct answer scores points and advances the queue; a miss or wrong answer is penalised. The game runs across three levels of increasing difficulty — Beginner, Intermediate, and Advanced — with shorter drop times at higher levels.

At the end of each level a results screen shows score, accuracy, and level reached. After completing all three levels, the final score is saved to a local leaderboard stored in the browser via localStorage.

Why It Was Built

The debit/credit rule is one of the most consistently confusing foundations in accounting education. Most resources present the rule as a table to memorise; this game forces active recall under time pressure, which produces stronger retention. It is designed to be useful for students approaching ACCA, CIMA, or AAT qualifications who need to drill the normal balance of accounts until it becomes automatic.

Technical Notes

Built as a single HTML file with no external dependencies beyond Google Fonts. The game engine is pure JavaScript — a state machine tracks screen transitions (intro → game → result → leaderboard), manages the falling card animation via CSS transitions, and handles keyboard and mouse input. Account data is hardcoded as a structured array covering 22 account types across all five balance sheet and income statement categories. The leaderboard persists across sessions using localStorage.