Inspiration

Magic: The Gathering has grown quickly over the last decade, and a lot of that growth is new players learning the rules. The rules have also been adjusted for more than 30 years to cover edge cases, and the Comprehensive Rules are now more than 300 pages. New and experienced players both end up asking a judge, or searching several sites, to know whether a play is legal.

A lot of players are also starting with Commander. That format is more complicated on its own: decks are 100 cards, only one copy of each card is allowed, and a game is usually four players. More cards and more players mean more interactions to track.

Elder Dragon Lawyer sits in the middle of that game. It keeps the table’s state and acts as a judge the pod can ask.

What it does

Elder Dragon Lawyer tracks life totals, poison, commander damage, and the board. Players photograph a zone or upload a picture, and the app identifies the cards there. They can also type a card in by hand. From the board, they select the cards in a question, read the Oracle text and official rulings, and ask for a clarification, so the table can take a legal action and see why.

How we built it

The frontend is React 19, built with Vite. Life totals and the board are saved in the browser, so there are no accounts and no database, and the same page can run on each phone at the table.

Azure Computer Vision reads the card titles in a photo. CardSight identifies a card from the picture when that title read is weak or missing. If both agree, the name is accepted. If only one is confident, it is marked as a guess. If they disagree, the table picks. Players can correct any name before it is accepted.

The domain elderdragon.vip is registered at Porkbun, and the app is hosted on Azure. Scryfall supplies name suggestions while typing, plus Oracle text and official rulings. When the table asks for a clarification, Grok reads that game state and answers from the cards that were selected.

Challenges we ran into

Finding cards in a photo is unreliable. The vision step sometimes returns only the text box, or treats part of a card as a whole card. Sleeves add glare that covers the title, and foil cards are hard to read because the surface shifts color. The board shows what each reader identified, and the table can correct it.

Accomplishments that we're proud of

We built the life counter and rules companion we actually want at the table. We play Commander at our college most Thursdays, and newer players often stop the game to ask how two cards interact. This is the app we would hand them.

What we learned

None of us had used Azure before. This project is where we learned how to put Microsoft’s vision services into an app we wanted for ourselves.

What's next for Elder Dragon Lawyer

Sharper card detection and identification, and more of the small table tools that make Commander easier to learn.

Built With

Share this project:

Updates

Submission history