Reza Salmanian

Command Palette

Search for a command to run...

All projectsMarketplace · Consumer

Card2Manage

Sports Trading Marketplace

Card2Manage is a marketplace purpose-built for sports card collectors and traders, with an inventory and trading workflow that reflects how collectors actually value and exchange cards.

Timeline

  1. Phase 1

    Marketplace core

    Built listings, inventory, and user collections

  2. Phase 2

    Trading workflow

    Shipped structured offer/counter-offer trading

  3. Phase 3

    Scale & search

    Optimized browse and search over large collections

Executive Summary

Card2Manage is a two-sided marketplace for the sports trading card community, covering user collections, listings, inventory management, and a structured trading workflow, rather than a generic classifieds template repurposed for collectibles.

Business Problem

Generic marketplace and classifieds platforms don't model how collectors think about their inventory — condition, set, grading, and trade value all matter, and a simple buy/sell listing doesn't support structured trades where both sides offer cards instead of cash. Collectors were using a mix of forums, social media, and general marketplaces with no purpose-built workflow.

Project Goals

  • Model collections and listings around attributes collectors actually care about (set, condition, grading)
  • Support structured trading — card-for-card or card-plus-cash — not just simple sales
  • Build user and inventory management that scales with active traders managing large collections
  • Keep the trading workflow safe and clear for both parties in a trade

Solution Overview

User collections are modeled with collector-relevant attributes, listings support both sale and trade intents, and a structured trading workflow walks both parties through offer, counter-offer, and confirmation steps rather than relying on informal message-based negotiation.

Architecture Decisions

  • Modeled inventory items with collector-specific attributes (set, condition, grading) as first-class fields rather than free-text descriptions
  • Built trading as an explicit multi-step workflow (offer, counter, accept) instead of overloading the messaging system to carry deal terms
  • Designed user inventory management to handle large collections without performance degradation

Screenshots

Collection inventory view

Illustrative — not an actual screen

Listing detail page

Illustrative — not an actual screen

Trade offer workflow

Illustrative — not an actual screen

Architecture Diagram

Card2Manage marketplace architecture

User collections & attribute-rich inventory
Listings (sale & trade intents)
Structured trade workflow engine
Search & browse

Technical Challenges

  • Designing a trade workflow that's flexible enough for card-for-card, card-plus-cash, and multi-item trades without becoming confusing
  • Keeping search and browse performant over large, attribute-rich inventories
  • Balancing trust and safety in peer-to-peer trades without over-engineering a full escrow system at this stage

Engineering Decisions

  • Chose an explicit offer/counter-offer state machine for trades over freeform negotiation in chat, so both parties always have a clear, unambiguous record of the current terms
  • Prioritized attribute-rich inventory modeling early, since it's the foundation both search and trade-matching depend on

My Responsibilities

  • Designed the marketplace and inventory data model
  • Built the structured trading workflow (offer, counter, confirmation)
  • Directed the overall platform architecture and technology choices

Technology Stack

TypeScriptReactNext.jsNode.jsPostgreSQLFirebaseGoogle Cloud Platform

Results

  • Gave collectors a purpose-built alternative to informal forum and social-media trading
  • Structured trade workflow reduced disputes compared to informal message-based negotiation
  • Attribute-rich inventory model enabled meaningfully better search and trade matching

Lessons Learned

  • Modeling domain-specific attributes properly from the start (rather than generic listing fields) is what made trade-matching and search actually useful
  • An explicit trade-workflow state machine removed most of the ambiguity that caused disputes in informal negotiation

Next project

Ergonomics Desktop Application

Continue