About Us

Built for the MTG Community

What D'Gathering Does

D'Gathering is a dedicated Magic: The Gathering card price aggregator and community marketplace built specifically for players, collectors, and local game stores in the Philippines. We instantly scan multiple store websites and community feeds to display in-stock card printings, prices, and variant availability in one central search engine.

Our Story: Born as a Weekend Project

Like many great community tools, D'Gathering started with a familiar frustration. During deckbuilding weekends, finding a specific single card meant opening 15 different browser tabs, sifting through store search bars, and manually comparing prices line by line across local game store websites.

What began as a simple weekend side project to automate our own card hunting quickly grew into something much bigger. As more local stores and fellow Commander and competitive players started using it, we realized the entire Philippine MTG community needed a fast, reliable, and unified home for price discovery.

The Creators: "Another MTG Group"

D'Gathering is crafted and maintained by Another MTG Group — a passionate collective of software engineers, MTG TCG enthusiasts, and avid card collectors. We play the game, trade at Friday Night Magic events, and build tools designed by players, for players.

Our Purpose: Bridging Players & Local Stores

Our core mission is simple: to bridge the gap and make life easier for both buyers and sellers in the MTG ecosystem.

For players and collectors, D'Gathering eliminates tedious price hunting, showing you who has stock right now so you can complete your deck faster. For local game stores (LGS) and community sellers, we drive direct foot traffic and sales to your store portals without intermediary commissions or friction.

Under the Hood: Engineering Technology Stack

We believe great software should be blazingly fast, lightweight, and rock-solid. Here is the technology stack powering D'Gathering:

PHP (8.x)

Why: Instant web request processing, PSR-4 domain isolation, and zero-overhead REST API serving. PHP keeps our web layer ultra-stable and universally deployable.

Rust (Tokio)

Why: Parallel scraper engine built with Tokio multi-threading. Delivers sub-second response times via database caching, with live multi-store queries completing in 2 to 5 seconds depending on remote store server latency.

MySQL / MariaDB SQL

Why: High-speed relational database storing indexed card price histories, unique store URL constraints, marketplace feeds, and search trend logs.

Vanilla JavaScript

Why: Zero heavy framework bloat. Sub-10ms autocomplete suggestions, mobile camera WebP image compression, and instant client responsiveness.

CSS3 Design System

Why: Lightweight custom CSS variables supporting dynamic dark mode themes (Raw Energy, Isolation, Orzhov, Tech Minimalist) with sub- millisecond rendering.

Scryfall REST API

Why: Official Magic: The Gathering card catalog integration providing high-resolution card imagery, set codes, and canonical Oracle card titles.

Engineering Challenges

To keep card searches accurate, lightweight, and responsive for the community, we built a few practical features under the hood:

3-Tier Title Matching Engine

Our title normalization strips set codes `[MOR]`, collector numbers, and ligatures (`Æ` ➔ `ae`), helping prevent partial title confusion so searching "Hex" doesn't match "Hex Parasite".

Hybrid Search & Caching

Combines fast database cache lookups with our background Rust scanner to retrieve live prices from multiple LGS store platforms smoothly.

In-Browser Image Optimization

Handles mobile photo rotation and compresses marketplace listing uploads directly in the browser to keep page load times fast for everyone.

Stock & Price Validation

Filters out zero-stock entries and automatically adjusts WooCommerce minor currency units (cents to pesos) before rendering results.

Technical Limitations & Data Transparency

While D'Gathering implements multiple custom normalization layers and strict guardrails to eliminate false positives, our engine operates under certain real-world data boundaries:

  • Third-Party Store Data Formatting: D'Gathering has zero control over how third-party LGS online shops format, spell, or present their MTG card data. If a store labels a card with non-standard syntax, typos, or custom tags, matching accuracy relies on our canonical token normalizer.
  • Live Inventory & Stock Accuracy: Actual stock availability, physical quantity updates, and price adjustments are managed independently by each individual store on their respective Shopify, WooCommerce, Square, or custom e-commerce backends.
  • Final Checkout Verification: We always encourage users to verify final card conditions, set printings, and stock availability on the store's official website upon checkout.