Home page
/

Project

Flygrade

App for baseball card collectors

About project

About project

About project

Today, the sports card market is rapidly growing and is estimated to be around $10 billion, with projections suggesting it could reach $62 billion by 2027, according to media company Cision. Brent Huigens, the CEO of PWCC Marketplace, describes card collecting as a hybrid of investments and visual arts, resembling the stock market more than anything else.

To determine the value and authenticity of a card, owners turn to expert appraisers, whose services can be costly. Similar to stocks, cards are assigned a market index, and collectors track the ownership of the most valuable specimens and their current prices.

Representatives of the American startup are the active members of the collecting community themselves. They understand the challenges of card evaluation. Many cards are quite old and require delicate handling, specific temperature and lighting conditions, and careful touching to prevent a decrease in value. The startup decided to enter the card grading market and offer collectors a mobile service—gentle, doesn't require transportation, and yet objective.

The startup approached Doubletapp with a proposal: to develop a mobile application using ML tools that would help collectors determine the grade of sports cards.

PROJECT OBJECTIVE

PROJECT OBJECTIVE

PROJECT OBJECTIVE

Flygrade's concept: an authorized user uses the app to point the camera at a card and receives information about the card's grade on a ten-point scale. The rating is assigned to each side, and then an overall average score is calculated.

The service is paid, but users can purchase a subscription to evaluate each specific card more cost-effectively. This is how the app monetizes. The assessment data is stored in a personal account and can be used later.

1
2
3
4
5

RESULT

RESULT

RESULT

We developed a mobile application on Flutter. ML tools allow users to identify the grade of a card, save the image and related information for later use without the need for reevaluation.

The client was satisfied with the results of our work; their startup secured a new round of investments. Now, in addition to technical support, we plan to use AI not only to evaluate cards but also to find similar cards currently for sale. Card prices fluctuate, so timing is crucial for selling.

In the near future, we plan to integrate with the online auction platform eBay, the primary marketplace for sports cards, and showcase freshly appraised rarities on the online storefront.

Our super team

AntonAndroidKirillMLNikitaFlutterSofiiaFlutterDanilBackendAnnaBackendKirillManagement
EmilQA

Realization

Realization

Realization

To train the neural network, we received around 7,000 pre-graded cards from the client. However, most available cards had high grades, and there was a shortage of low-grade samples. To address this, we scraped tens of thousands of additional cards of various grades from eBay, resolving the training material issue.

However, a new challenge arose: cards in the app and on the online auction were photographed differently. In the app, users bring the phone camera almost directly to the card, while for eBay photos, cards are placed considerably farther away. We found a solution: we created a segmentation mask and taught the network to understand what exactly constitutes a card and where the boundaries of this object are in space. Now, the neural network could use any eBay card photos for further training.

After training the final neural network model and integrating it into the app, we can grade cards as qualitatively and impartially as a professional appraisal agency.

Insights, Hypotheses, Process of Creation

Insights, Hypotheses, Process of Creation

Insights, Hypotheses, Process of Creation

ML

The project's goal is to use a neural network to determine the grade a professional appraisal committee would assign to a collectible card. The grading scale consists of 19 points, ranging from 1 (very poor quality) to 10 (perfect quality) with increments of 0.5. The card has two sides, each independently assessed, and the final grade is calculated as the weighted average of each side's ratings.

Additionally, there are four criteria contributing to the overall quality that are also useful to evaluate:

• fading of the card

• scratches, scuffs

• corner quality

• correctness of image centering on the card

Each criterion follows the same scale as the main card. While their assessment is not mandatory, it can assist the machine learning model in better training.

DATA

The client provided approximately 7,000 cards and their ratings, grading each side of the card and, for some cards, the ratings for each of the four criteria.

The photo quality was good, but there was a problem: the data had a strong bias towards good cards. That is, there were significantly more examples with grades in the range of 7–10 than in the range of 1–6.5. The same bias was present in the criteria.

To correct the bias and gather more data, tens of thousands of images were additionally scraped from the eBay site. They had grades and images—everything we needed.

However, a problem arose: the images often didn't resemble what we wanted to feed into the network. In them, the card was positioned far away from the camera, while users in the app photograph the card up close. To address this issue, we created a segmentation mask for a thousand cards. We then trained a segmentation neural network and fed it the remaining tens of thousands of cards—this allowed us to determine the card's location in the image. This enabled us to present full-sized eBay card photos to the final neural network.

TRAINING

For training the final model, a convolutional neural network with a base from the ResNet-50 network was used. Essentially, our main task was to classify the image into 19 classes: grades from 1 to 10 with a step of 0.5. After training the network on the available data, we achieved good quality.

However, for several thousand images from the client, we also had data on the grades of specific criteria. They weren't necessary for the final result, but could they help us improve the quality of our main classifier? We decided to test this. We took the network trained in the previous stage and added four classification heads to it, one for each criterion. We then retrained the network in this mode with 5 classification heads—four for the criteria plus the main grade. In the end, we were able to slightly increase the network's performance! These four auxiliary heads were no longer needed in production.

As a result, we obtained a network that qualitatively assesses the grade that specialized appraisal agencies would assign to the card. Even when it made mistakes, the margin of error was within ±0.5 grade.

BACKEND

The backend of the application was entirely developed by Doubletapp developers. We used the FastAPI framework, which offers greater performance and flexibility compared to Django.

The application features a personal account for user identification, where they can save data on processed cards. Standard payment tools for Google Play and the App Store are also integrated.

Let's work together!

Let's work together!

Attach file