Case Study: Automating Tournament Score Entry for a Multi-Region Poker League

Client: Kontenders Poker — a competitive Texas Hold’em league running weekly games across multiple regions in North Carolina and beyond.


The Problem

After every poker tournament, a Tournament Director had a routine: sit down at a computer with the handwritten score sheet, go through each name one by one, find that player in the league system, and assign their finishing position. For a full game with 20 or 30 players, that’s 20 or 30 lookup-and-match operations — most of them routine, but none of them fast.

The complication is that handwritten score sheets don’t always match what’s in the database. Players go by nicknames. First names are abbreviated. Handwriting varies. A name that’s unambiguous to the TD holding the sheet can be a guessing game when you’re trying to find it in a roster dropdown. And occasionally a new player shows up who isn’t in the system yet, requiring a separate account-creation step before you can even enter their result.

With games running across multiple regions every week, this added up to a meaningful block of time and attention after every single game — work that was entirely about data entry, not anything that required the TD’s actual judgment.


The Solution

A bot that reads the handwritten score sheet using AI and handles the matching automatically — loading results into the league database ready for a final review and one-click submission.

The TD photographs the score sheet after their game, sends it to the bot, and the system takes it from there. The entire interaction happens through Telegram on their phone, without sitting down at a computer.


How It Works

1. Select the event The TD sends any message to the bot. It immediately shows the upcoming events for their region — the games from the past few days that need results entered. The TD taps the right one.

2. Send the photo The TD photographs the handwritten score sheet and sends it to the bot. If the image is sideways from how the phone was held, the bot offers a quick rotation step so the AI can read it correctly.

3. AI reads the handwriting The image goes to an AI vision model. Its job is to extract exactly what’s written — names and finishing positions — without guessing or autocorrecting. Whatever the TD’s handwriting says is what comes back.

4. AI matches names to player accounts The extracted names are handed to a second AI call, this time a text model. It works from two sources: the full player roster and a custom nickname table that the league has built up over time — entries that map common shorthand, nicknames, and abbreviations to the correct player accounts. The AI classifies each name as a confident match, an ambiguous match, or unmatched.

5. TD resolves any ambiguity If the AI isn’t sure — say the sheet just says “Mike” and there are several Mikes in the region — the bot walks the TD through each case with a simple button tap. The choices get smarter as you go: once a player is assigned to one position, they’re removed from the options for subsequent ambiguous names, preventing duplicates.

6. Results go into the system All confident matches are written directly to the database. Anything the AI couldn’t resolve is flagged in the event notes for manual follow-up. The score sheet photo and any winner photo the TD submitted are saved to the media library and linked to the event record.

7. Admin notification Immediately after submission, an administrator receives a Telegram message with the score sheet, the winner photo, a summary of what was matched versus flagged, a direct link to the review page — and pre-written social media copy announcing the winner and top finishers, ready to post.

The administrator reviews the results on the existing input page, makes any corrections, and submits to standings.


The Outcome

What used to be a manual lookup-and-match task after every game is now a two-minute conversation with a bot on a phone. The TD sends a photo, taps a few buttons to resolve any uncertain names, and walks away. The AI handles handwriting recognition, nickname resolution, and data entry. The administrator gets everything they need — including social media copy — delivered to their phone before they’ve even left the venue.

Human judgment is still in the loop where it matters: ambiguous names get a quick human decision, and results go through a review step before they’re final. The automation handles the tedious part so the humans can focus on the parts that actually require them.


What Makes This Different from Off-the-Shelf Automation

This wasn’t a tool configured from a marketplace. It was built around how this league actually operates: the handwriting conventions on their specific score sheets, the nicknames their players use, and the review process that already existed. The AI prompts include a plain-language description of the score sheet layout — something an administrator can update through the website’s settings panel as the format evolves, without touching any code.

That combination — AI that understands your specific context, built into your existing workflow — is what separates automation that gets used from automation that gets abandoned.