Skip to content
← All Projects

Sport Card
Creation

A WooCommerce plugin to prepare a personalized trading card shop.

Year2025
TeamMyself
Stack
PHP - WordPress - WooCommerce - Webpack
Problem

Store owners had no way to sell personalized trading cards.

Role

Freelancer Senior WordPress Developer

Outcome

A self-contained WooCommerce plugin with a full template builder, dynamic pricing, and structured order delivery for production.

Impact

Eliminated manual design handling for store owners, increasing sales.

The brief

The customer needed a custom functionality for WooCommerce stores to sell personalized sports trading cards without bolting on a third-party design tool. Store owners wanted customers to upload a photo, type in a name and number, and get a produced card, with every detail landing in the order ready to send to print. Before this plugin, that meant manual back-and-forth over email for every single order.

I built Sport Trading Cards as a freelance WooCommerce plugin, owning it end to end: the admin template builder, both customer-facing design modes, the pricing engine, and the order flow that packages a customer's design for production. No hosted service, no external design API. Everything runs inside the store's own WordPress and WooCommerce installation.

Advanced Designer showing the step list for name, team name, text line, logo, image, and number, a live front card preview, and a real-time price breakdown

The Advanced Designer: each step in the left panel drives the live card preview and price breakdown on the right.

Template builder admin editor showing a wrestling trading card design with a layers panel for background image, user image mask, background user image, and frame, plus a texture patch properties panel

The template builder: store owners design front and back layouts layer by layer, from background art to the user's photo mask.

Building it

The plugin ships two customization modes that feed the same WooCommerce cart: Quick Design, a mobile-friendly form with photo upload, name, and team fields plus an optional background-removal prompt, and Advanced Designer, a full desktop editor built step by step across text, image, signature, QR code, effects, and a six-field grading slab layout, each step priced independently and rendered as a live front-and-back preview. Templates are built in their own visual drag-and-drop admin editor and saved as a single JSON blob at the standard 63x88mm card size, and every image upload passes MIME, extension, and raw-byte PHP-injection checks before it's trusted.

Pricing runs through WooCommerce's own set_price() so taxes and coupons stay correct, with every step priced separately for front and back. The hard part was the image lifecycle: a customer can upload a photo, abandon the cart, remove an item, or reuse the same image across multiple designs, and none of that should ever orphan a file or delete an image another cart item still needs. Cart removal checks for shared usage before deleting anything, and a daily WP-Cron job sweeps temporary uploads older than 24 hours that never reached checkout, so every order arrives with a fully structured, downloadable design ready for production.

Want the long version, or something similar built?

Tech Stack
PHPWordPressWooCommerceJavaScriptWebpackMySQLhtml2canvasWP-CronCSS
Resume