TcgDex.CSharpSdk
BetaA .NET SDK for the TCGdex Pokémon TCG API — strongly typed models, a fluent query builder, and first-class Native AOT support.
I’m John Moore, a full stack developer working mainly in .NET — SDKs, desktop apps, and tooling. Everything below is source-available on GitHub, and most of it exists because I wanted the thing to exist and nobody had built it.
A .NET SDK for the TCGdex Pokémon TCG API — strongly typed models, a fluent query builder, and first-class Native AOT support.
A .NET MAUI app for logging and analyzing Pokémon TCG battle records on Windows and Android.
A standalone parser for Team Fortress 2 .dem files — built to read demos from any era of TF2's 18-year history, including ones Valve's own client updates have broken.
The WinAppDriver API, reimplemented on raw IUIAutomation COM — so an existing Appium or Selenium suite can point at it unchanged and stop hitting the ceiling.
A Team Fortress 2 config in plain .cfg files — two profiles, every cvar checked against a live client, and a tool that tells you which ones a game update killed.
A fork of a competitive Team Fortress 2 HUD, brought back into line with the shipped game — with the reasoning for every change written down, including the changes that turned out to be wrong.
Work that went into someone else's project rather than my own.
Hiberbee Theme — Sergiy Egoshyn’s theme extension for Visual Studio 2022 and 2026, a little over 25,000 installs as of August 2026.
Pull request #5 took three
vulnerable packages out of its build — MessagePack, System.Drawing.Common and
System.Text.RegularExpressions, none of them named by the project, all reached
transitively through the Visual Studio SDK.
My first attempt over-corrected: I pinned two of them directly, and the
maintainer asked why. Answering that properly is what found the real shape of
it. Moving the SDK, the build tools and the VSIX colour compiler forward already
carried MessagePack with them, so only System.Text.RegularExpressions still
needed a direct reference — a transitive dependency can’t be pinned where it
sits, so lifting one means promoting it to a package the project names itself.
The extra pin came back out, and it merged the same morning it was opened.
Eighteen months on, two of those four lines are still there word for word: the colour-compiler version and that pin. The maintainer has since moved the SDK further along.
Written by hand, with no AI involved, and it was the first pull request I ever sent anyone.
Available for contract work — .NET applications, libraries, tooling, and web work. Scope and timelines vary enough that a fixed rate card doesn’t say much useful, so tell me what you need built and I’ll quote it.
Reach me at JDMDev4u@gmail.com.