← Back to blog

Why You Need a Digital Mahjong Scorekeeper (and What TileBuddy Does)

Wesley Ng ·

If you’ve played Hong Kong Mahjong in a casual group, you know exactly how a winning hand derails the table. Someone wins. Tiles go face-up. Then begins a familiar ritual: the faan debate, the payment arithmetic, the scribbling on whatever napkin is closest. Three players wait. The energy dissipates. By the time the tiles are shuffled again, the momentum is gone.

This isn’t a niche problem. It happens every round, every session, and it accumulates. A hand that should take fifteen seconds to resolve takes four minutes. Across a three-hour game with sixteen rounds, that’s over an hour spent on scoring logistics rather than playing mahjong.

The fix isn’t complicated. A well-built digital scorekeeper — one that understands Hong Kong Mahjong specifically — handles faan calculation, payment splits, and session tracking in seconds. The game keeps moving. Arguments become irrelevant. New players stop feeling left behind. This guide covers why pen-and-paper scoring has been holding groups back, what a proper digital scorekeeper actually does, and what TileBuddy in particular gets right.

From Pen and Paper to App: How Mahjong Scoring Modernised

Mahjong has been played for well over a century. For most of that time, scoring was handled through memory, mental arithmetic, and hastily scribbled notes. The tools have changed incrementally — from pure recall, to paper tallies, to printed reference cards, to spreadsheets — but every approach before dedicated apps shared the same fundamental weakness: they offloaded all the hard work back onto the players.

The mental math era

In the earliest days, scoring was entirely oral. Experienced players would evaluate the winning hand, calculate faan, and settle payments in their heads. This functioned in tight-knit groups where everyone had grown up learning the system and played frequently enough to keep the knowledge sharp. Disputes were resolved by whoever was considered the most senior player at the table.

The obvious problem: this required expertise from everyone present. New players were at a structural disadvantage, and when two experienced players disagreed about a hand’s value, there was no objective arbiter. Debates could drag on, and some scoring disputes produced grudges that outlasted the evening.

The pen and paper era

As mahjong spread beyond its original social contexts and more people at varying skill levels started playing together, written records became standard. The typical approach: one player — usually the host or the most organised person present — maintained a notepad. After each round, they wrote down the winner, faan count, and payments. Running totals went down the columns.

Pen and paper got some things right. It was accessible, flexible enough to accommodate any house rules, and produced a physical record that could theoretically be reviewed at the end of the night. But the failure modes were significant.

Errors compounded. One wrong entry in round three would skew every subsequent total. Handwriting got messier as the session progressed. Spilled drinks wiped out hours of tracking. And critically, the notepad recorded only what players had already agreed on — it provided no independent verification of the faan count. If two players miscounted together, the notepad faithfully recorded the wrong number.

Most long-time players have a war story about a notepad-related scoring disaster. The pen-and-paper era wasn’t bad, it was simply the best available option at the time.

The reference card era

As New 6 and New 18 hand sets became more common, players started bringing printed reference cards to the table — laminated sheets listing all recognised hands and their faan values. These helped standardise scoring across groups and reduced disputes about hand values. They were particularly useful for newer players who hadn’t yet memorised the full hand set.

Reference cards solved the knowledge problem without solving the arithmetic problem. You still needed to count faan manually, calculate payments in your head, and track running totals somewhere else. They were a useful supplement to pen and paper, not a replacement for it.

The spreadsheet era

Tech-inclined groups eventually moved to spreadsheets. Some players built elaborate templates in Excel or Google Sheets with drop-down menus, automated payment formulas, running total calculations, and even session statistics. These were a genuine improvement over notepads: calculations happened automatically, records persisted across sessions, and the template enforced consistency.

The limitations were practical rather than conceptual. Building a reliable spreadsheet required upfront investment, and someone had to maintain it. A laptop or tablet at the mahjong table was physically awkward. The spreadsheet still relied on players manually inputting the faan count — it couldn’t verify that count independently. And one accidental edit to a formula cell could silently break the entire thing.

Spreadsheets were a general-purpose tool being pressed into a specific use case. They worked, but they never felt right.

The app era

Purpose-built mahjong scoring apps represent the current state of the art, and the difference from earlier approaches isn’t incremental — it’s structural. The best apps combine faan calculation, payment calculation, session tracking, and rules configuration into a single interface optimised for the mahjong workflow. You’re not entering numbers into a spreadsheet column; you’re selecting the actual tiles and letting the app figure out the rest.

The speed difference is notable. A hand that takes three to five minutes to score manually — faan debate, payment calculation, writing it down — takes fifteen to thirty seconds with a good app. Over a session, that time adds up to significantly more rounds played.

The accuracy difference matters even more. An app doesn’t miscalculate, misremember, or get tired. Every faan count is evaluated against the same rule set, and every payment is arithmetically correct. The subjective element — “I think that qualifies for Mixed One Suit” — becomes objective: it either qualifies or it doesn’t, and the app applies the same standard every time.

For newer players, apps change the game entirely. Rather than needing to memorise the full faan guide before they can participate, beginners can focus on learning gameplay while the app handles scoring. Seeing the faan breakdown after each hand is, incidentally, one of the fastest ways to internalise which patterns are worth aiming for.

AI tile scanning is the most recent development in this progression. Rather than manually selecting each tile on a virtual keyboard, you photograph the winning hand and the app identifies it. TileBuddy uses Google Gemini Vision for this — more on that below. It’s the kind of feature that sounds like a nice bonus until you use it, at which point manually tapping 14 tiles feels like the previous era.

Why a Digital Scorekeeper Changes the Game

The case for digital scoring isn’t just about convenience. The pen-and-paper approach has specific failure modes that damage the quality of a game night in ways that are easy to overlook until they’re gone.

Speed: eliminating the dead time between rounds

The gap between “tiles revealed” and “tiles shuffled again” is dead time. It breaks concentration, dissipates energy, and is the most common reason casual groups don’t play as many rounds as they’d like. Manual scoring is the primary driver of that gap.

An app collapses this to under thirty seconds per round. Over a sixteen-round session, the cumulative time saved is substantial — often thirty minutes or more of additional playing time that would otherwise have gone to arithmetic.

Accuracy: removing the most common source of argument

Faan disputes aren’t usually about bad faith. They happen because Hong Kong Mahjong has enough edge cases — overlapping patterns, hand set variations, borderline qualifications — that even experienced players regularly disagree. When the arbiter is the app rather than the most confident player at the table, there’s nothing to dispute.

The same applies to payment math. Was the dealer involved? Was it self-drawn? What’s 7 faan worth again with a base unit of two? These questions have correct answers, but calculating them mentally under social pressure is error-prone. An app eliminates the error and the argument simultaneously.

Settlement: ending the end-of-night reconstruction

One of the more tedious aspects of pen-and-paper mahjong is the end-of-session reconciliation. Someone has to add up columns, subtract balances, figure out who owes whom, and handle the fact that the notepad probably has at least one illegible entry from round eight. This typically takes ten to fifteen minutes and occasionally produces its own disputes.

With session tracking, this collapses to a single screen. The app has recorded every round’s results, maintained running totals automatically, and can display each player’s net position on demand. Settlement takes two minutes, not fifteen.

Accessibility: lowering the barrier for new players

The scoring system is the single biggest barrier to casual adoption of Hong Kong Mahjong. The game itself isn’t complicated to learn, but the faan calculation — dozens of patterns, multiple hand sets, bonus tiles, payment adjustments — can feel overwhelming before a beginner has even touched the tiles.

A scoring app inverts this. New players can start playing while the app handles the part they haven’t learned yet. They still see the faan breakdown after each hand, which accelerates their understanding of scoring over time. The knowledge builds naturally through play rather than being a prerequisite for participation.

Consistency: the same rules every time

Every group has house rules. Minimum faan thresholds, which hand sets are in play, how flowers and seasons are handled — these vary from table to table. The problem with verbal or informal house rules is that memory is selective, and “I thought we were playing with New 6” is a common source of session friction.

An app configured with your group’s settings applies those settings consistently, every round, without anyone having to remember and re-enforce them. Set it once; it holds.

The right app does all of this. Here’s what TileBuddy specifically gets right.

5 Features That Make TileBuddy Different

There are a handful of mahjong scoring apps available, but TileBuddy was built from the ground up specifically for Hong Kong Mahjong players. The distinction matters. A general-purpose scoring tool adapted for Hong Kong rules is a different product from one that started with Hong Kong Mahjong as its only use case. Here are the five features that reflect that focus.

1. AI-powered tile scanning

This is the feature that changes the workflow most dramatically. Instead of manually tapping 14 tiles one by one on a virtual keyboard, you take a photo of the winning hand.

TileBuddy uses Google’s Gemini AI to identify every tile in the image. Within seconds, the recognised tiles appear on screen ready for faan calculation. If the AI misreads a tile — rare, but possible in tricky lighting — you tap to correct it manually.

The time difference is significant. Manual tile input takes 30–60 seconds. AI scanning takes 5–10 seconds. Over a session with 15–20 rounds, that’s 10–15 minutes saved. More importantly, it removes the friction that makes players abandon scoring apps entirely. The less the app interrupts the flow of the game, the more likely everyone is to keep using it.

The Gemini API doesn’t do simple image matching — it understands what mahjong tiles look like across different tile set styles, from traditional ornate sets to modern minimalist ones. It handles tiles at slight angles, with varying lighting, and with some wear on the surface.

2. Complete hand set coverage

TileBuddy supports all three Hong Kong Mahjong hand sets: Classic, New 6, and New 18. You select which sets your group plays with, and the app only considers patterns from those sets.

Hand SetPatternsWho Uses It
Classic~15 core patternsEveryone
Classic + New 6+6 additional patternsMost regular players
Classic + New 6 + New 18+18 more patternsExperienced players

Many competing apps support Classic hands only, leaving players who use New 6 or New 18 patterns without accurate scoring. For groups that play with extended hand sets, this renders those apps effectively unusable. TileBuddy covers the full spectrum.

The hand set toggles are in settings. Playing a casual session with beginners? Classic only. Regular game night with experienced players? All three turned on. The configuration persists between sessions so you’re not re-entering preferences each time.

3. Smart payment calculator

Scoring faan is half the work. The other half is knowing who pays whom and how much. TileBuddy’s payment calculator handles this automatically, accounting for:

  • Self-drawn vs. discard win — all three players pay on a self-draw; only the shooter pays on a discard
  • Dealer multiplier — East pays and receives at a higher rate
  • Faan-to-payment conversion — based on your table’s configured base unit
  • Faan limit — caps payouts at your group’s agreed maximum

Payment calculation is where most scoring arguments concentrate. Was the dealer involved? Was it self-drawn? What does 7 faan translate to with our base unit? These questions have correct answers, but doing that arithmetic mentally in real time is reliably error-prone.

To make it concrete: you win with 5 faan by self-draw; you’re not the dealer; base unit is $1.

The app shows instantly:

  • East (dealer) owes you: $96 (5+1 faan = 6 faan, $64 × 1.5 dealer multiplier)
  • South owes you: $64
  • North owes you: $64

No mental math. No arguments about whether you got the dealer multiplier right.

4. Session tracking across multiple rounds

A mahjong session isn’t one hand — it’s fifteen, twenty, or more rounds over several hours. TileBuddy tracks every round’s results and maintains running totals for all four players throughout.

What gets tracked: winner and faan count per round, payment amounts per player, running cumulative scores, dealer rotation, and round wind progression. The session view updates after each round so anyone can check the standings at any point without interrupting play.

End-of-session settlement — which used to mean working backwards through a crumpled notepad — becomes a single screen showing each player’s net position. Past sessions are saved, so you can review previous game nights, track your performance over time, or settle the recurring argument about who’s actually been winning this year.

5. Clean, purpose-built interface

TileBuddy doesn’t try to cover every mahjong variant or double as a general card game scoring tool. It does one thing: Hong Kong Mahjong scoring. That focus is visible in every design decision.

The main features are front and centre. There are no ads and no in-app purchases. Every screen in the app serves the scoring workflow — there’s no clutter from features that don’t apply to your use case. Startup is fast; you open the app and start scoring without navigating through a setup flow.

This matters in practice because scoring apps only work if people actually use them. An app that’s slightly cumbersome gets abandoned after two rounds, and the group reverts to pen and paper. The interface has to be fast enough and intuitive enough that using it feels easier than not using it.

What these five features add up to:

Without TileBuddyWith TileBuddy
2–5 min scoring discussion per round10–15 seconds
Payment math on paperInstant calculation
”Whose wind is it?”Tracked automatically
End-of-night reconciliationOne-tap settlement summary
Scoring argumentsObjective, consistent results
New players overwhelmed by scoringApp handles it while they learn

The result: more rounds, fewer interruptions, no scoring arguments.

How to Use TileBuddy's Faan Calculator

TileBuddy’s faan calculator is the fastest way to score a Hong Kong Mahjong hand. Whether you prefer to select tiles manually or use AI scanning, the workflow is short and the result appears in seconds. Here’s how it works.

Getting started

Download TileBuddy from the App Store — it’s free. When you open the app, the main screen shows the faan calculator, payment tracker, and game session manager. Tap the faan calculator to begin.

Before your first game, take two minutes to configure your house rules under Settings:

SettingOptions
Hand setsClassic only; Classic + New 6; Classic + New 6 + New 18
Minimum faan0 (chicken allowed), 1, 3, 5
Faan limit8, 10, 13
Base unitCustom amount
Dealer multiplier1.5× (standard) or custom

These settings persist between sessions, so you only need to configure once per group.

Method 1: Manual tile input

Step 1 — Select your tiles. The tile picker shows all available tiles organised by suit: Bamboo (1–9), Dots (1–9), Characters (1–9), Winds (East, South, West, North), and Dragons (Red, Green, White). Tap each tile to add it to the hand shown at the top of the screen.

Step 2 — Organise into sets. Once all 14 tiles are selected (or more, if there are kongs), the app automatically identifies possible set combinations and scoring patterns. Where multiple interpretations exist, TileBuddy shows the highest-scoring one — which is the one you’d claim.

Step 3 — Indicate win conditions. Select whether the win was self-drawn or by discard, your current seat wind, the round wind, and any bonus tiles (flowers and seasons) you’ve collected.

Step 4 — View results. The results screen shows the total faan count, a line-by-line breakdown of each scoring element, and the corresponding payment amounts.

A few tips for manual input: add the winning tile last (it helps the app distinguish self-drawn from discard); don’t overlook kongs; double-check your seat wind and round wind settings before confirming.

Method 2: AI tile scanning

This is TileBuddy’s standout feature and the faster of the two methods once you’re comfortable with it.

Step 1 — Lay out the tiles. Arrange the winning hand face-up on a flat surface with even lighting. Space the tiles apart so they’re clearly visible — overlapping tiles can confuse the scanner.

Step 2 — Open the camera. Tap the camera icon in the faan calculator. Point your phone at the tiles and take a photo, or select one from your gallery.

Step 3 — AI recognition. TileBuddy sends the image to the Gemini API and identifies each tile. Within a few seconds, the recognised tiles appear on screen.

Step 4 — Verify and adjust. Check that the AI correctly identified all tiles. If any tile was misread — rare, but possible in poor lighting or with heavily worn tiles — tap to correct it manually. The hybrid approach gives you the speed of AI with the accuracy of manual verification.

Step 5 — Complete the scoring. Indicate win type, wind positions, and bonus tiles, then view your faan breakdown and payment amounts.

Tips for AI scanning: use good, even lighting and avoid harsh shadows across the tiles; lay tiles flat on a contrasting surface; hold the camera directly above the tiles rather than at an angle; landscape orientation can help capture wider hands cleanly.

Reading the results screen

The results screen gives you several layers of information.

The faan breakdown lists every scoring element line by line:

Mixed One Suit (混一色)     3 faan
All Pungs (對對和)          3 faan
Seat Wind Pung (門風)       1 faan
Self-Drawn (自摸)           1 faan
─────────────────────────
Total                       8 faan

Below the breakdown, the app shows payment amounts based on your settings — how much the winner receives, who pays (shooter only or all three), and any dealer adjustment. The hand classification also appears here, indicating the overall hand type and flagging if it qualifies as a limit hand.

Showing this breakdown to newer players is useful — seeing the scoring logic laid out after each hand accelerates the process of learning which patterns are worth building towards.

Linking with session tracking

The faan calculator works as a standalone tool, but it integrates with TileBuddy’s session tracker. After calculating a hand, you can log the result directly to the current session. The tracker updates running totals automatically and handles dealer rotation and round wind progression so you don’t have to track those manually either.

AI Tile Scanning: How It Works

TileBuddy uses Google Gemini Vision to recognise tiles from a photo of the winning hand. Point your camera, take the shot, and within seconds the app has identified every tile on the table — ready for faan calculation.

Gemini Vision goes beyond simple image matching. It understands what mahjong tiles look like across different tile set styles, handles varying angles and lighting conditions, and can cope with normal wear on tile surfaces. Scanning a full 14-tile hand typically takes under ten seconds, compared to 30–60 seconds for manual input.

If the AI misidentifies a tile, you tap to correct it before proceeding to scoring. In practice, under good lighting conditions, accuracy is well above 95%.

For a full technical explanation of how the scanning pipeline works — image preprocessing, tile detection, the Gemini API integration, and the confidence thresholds used for tile identification — see the standalone deep-dive: How AI Tile Scanning Works in TileBuddy.

Comparing Mahjong Scoring Approaches

Not every group will land on the same solution. Here’s how the main approaches stack up across the dimensions that matter most for Hong Kong Mahjong:

Pen & paperSpreadsheetGeneric calc appTileBuddy
Setup timeNoneHighLowLow
AccuracyHuman errorFormula error riskVariesConsistent
Faan automationNoPartialRareYes
Payment splitsManualIf built inRareYes
Game historyManualIf built inNoYes
Tile scanningNoNoNoYes

Generic calculator apps and general-purpose scoring tools can work if your group is willing to adapt to their limitations. Pen and paper works until it doesn’t. Spreadsheets work until someone breaks a formula. TileBuddy is built for this specific use case, which shows in every column of this table.

Getting Started With TileBuddy

TileBuddy is free and available on iOS. Download it from the App Store.

The first time you open the app, spend two minutes in Settings to configure your group’s house rules — hand sets, minimum faan, faan limit, and base unit. Once that’s done, the calculator is ready to use and will apply those settings consistently for every subsequent session.

For your first game with the app, use manual tile input while you get familiar with the interface. AI scanning is faster, but it’s easier to learn the layout first and add scanning once the workflow feels natural.

If you’re new to Hong Kong Mahjong or have newer players in your group, the Hong Kong Mahjong rules guide is a good starting point for understanding the game before diving into scoring details. The complete faan guide is the reference to bookmark once you’re playing regularly — it covers every scoring pattern across all three hand sets with examples.

TileBuddy is currently iOS only. Android availability may follow depending on demand.

The goal is simple: less time on scoring, more time playing. Once your group has used the app for a couple of sessions, reverting to pen and paper starts to feel like a deliberate downgrade.