tcgevents tcgevents.net

Can AI replace tcgevents?

The software here is a searchable list with a map and some filters, which an agent can produce before your coffee cools. The product is not the list, it is the fact that events are in it: store owners posting schedules, organizers keeping dates current, players trusting it enough to check it weekly. Scrape it and you own a snapshot that starts rotting the moment a shop moves its Friday night draft. Official publisher locators exist, but they are partial, rate limited, and hostile to bulk use, and the small local scene stuff never appears there at all. Build the personal tracker if you play in two cities, but do not pretend it replaces the directory.

Verdict: Nah · Keep paying, or use a free alternativeBuild time: one sitting
Nah

01What it costs

Price variesOrganiser commission (Vermittlungsprovision), commission per ticket sold

Checked Aug 18, 2026 · source: tcgevents.net.

02Could AI build it for you?

The core job: A local event tracker where you paste or manually add tournaments, then browse them by game, date and distance with calendar and ICS export.

What a working version needs:

  • Somewhere to actually get event data: official store locators, store Discords, Facebook pages, or your own typing
  • Optional geocoding API key in .env if you want distance filtering
  • Ongoing willingness to maintain your own listings, which is the entire catch

The map, the filters and the calendar export are an afternoon; the events in them are not. The moat is every local store that already posts its schedule there and every player who already checks.

03What you'd give up

  • Coverage: every store you did not personally enter is invisible
  • Freshness: cancellations, venue changes and date shifts arrive nowhere
  • Organizer side: shops have no reason to tell your laptop about their new league night
  • Discovery for travel: the whole point of a directory is events in cities you do not know
  • Whatever normalization the real site does across games, formats and regional naming chaos

Because the alternative is checking six store Facebook pages, two Discords and a publisher locator that has not been updated since the last set rotation. Anyone paying here is paying for someone else to do the tedious aggregation and keep it current, or, if they are a store, paying to be seen by players who already have the habit of checking. Neither of those is a software problem. A self hosted clone gives you the interface and none of the reason to open it.

05The build prompt

Paste this into an AI coding tool (such as Claude, ChatGPT, Lovable or Replit) to build your own version. Read the verdict first: this one is hard to get right.

prompt.txt
Build a local-first trading card game event tracker. Single Python project, no accounts, no cloud, no telemetry.

Stack, non negotiable:
- Python 3.11, FastAPI, Jinja2 templates, SQLite via sqlite3 stdlib
- Plain server rendered HTML plus a little vanilla JS, no build step, no npm
- Leaflet from a CDN for the map, OpenStreetMap tiles

Data model (events): id, game (magic, pokemon, yugioh, lorcana, other), title, format, venue_name, address, city, country, lat, lon, starts_at (UTC), ends_at nullable, entry_fee nullable, url nullable, notes, source (manual or paste), created_at, updated_at.
Also a settings row for home_lat, home_lon, default_radius_km.

Features, in scope:
1. Add and edit events through a simple HTML form. Manual entry is the primary path, treat it as first class.
2. A "paste dump" page: textarea where I paste messy text from a store Discord or Facebook post, plus a parser that extracts candidate title, date, time and fee with regex and dateutil, then shows an editable pre-filled form. No LLM call. If parsing fails, say so and let me fill it in.
3. List view: filter by game, date range, city, and distance from home using haversine on stored lat/lon. Sort by starts_at.
4. Map view: pins for filtered events, popup with title, time, venue, link.
5. Calendar: current month grid, events per day.
6. Export: /export.ics returns a valid VCALENDAR of the current filter. Also /export.json.
7. Geocoding: optional. If GEOCODE_PROVIDER and GEOCODE_API_KEY are set in .env, geocode addresses on save; otherwise leave lat/lon null and hide distance filters gracefully.
8. Recurring events: a weekly repeat option that materializes the next 8 occurrences, each editable and cancellable individually.

Out of scope, do not build: user accounts, multi tenancy, scraping any third party site, push notifications, a mobile app, anything that pretends to have nationwide coverage.

Deliverables: app.py, db.py, parse.py, templates/, static/, schema.sql, .env.example, seed.py with 12 fake events across 3 cities, and a README with run instructions (uvicorn, one command). Include pytest tests for the parser and the ICS output. Timezones: store UTC, display in a TZ set in .env, default America/New_York.
Sponsor slot · openFeatured alternative to tcgevents. A labeled card for one relevant tool.
Book this spot →

App prices, verdicts, alternatives and build prompts are adapted from Can I Vibecode It? (MIT License, © 2026 Rob Hallam). Each price shows the date it was checked and its source. Prices change; confirm on the vendor's site before you decide.