I build product systems under SixByFive, with a focus on collector tools, data-driven workflows, backend architecture, and polished user-facing software.
My work spans web, mobile, desktop, APIs, and internal tooling, and is driven by solving real operational and product problems rather than building for the sake of novelty. Outside of the collector space, I also build vertical SaaS and games, from persistent-world simulation to Minecraft mods.
I am also a maintainer for TCGdex, contributing to the wider trading card data ecosystem alongside my own product work.
A large part of my core work is private, so this profile is intended to reflect what I build, how I work, and the technologies I use.
A collector platform for Pokémon TCG: collections, binders, wishlists, a marketplace, P2P trading and subscriptions.
- Web — Next.js app for collection management, binder tools, marketplace and subscriptions, with an admin UI.
- Mobile — Expo / React Native app for iOS and Android with camera-based card scanning, push notifications, Stripe payments and over-the-air updates.
- Runtime — a containerised microservice backend behind a single GraphQL gateway. Auth, catalog, collections, marketplace (with Stripe escrow), trading, payments, realtime, notifications, media, shipping and messaging each run as their own service, sharing typed packages in a pnpm + Turborepo monorepo.
- Data — card pricing and market-data pipelines with scheduled ingestion and price rollups.
I have been migrating the platform from its original monolith to this service architecture, and moving the mobile app onto the new gateway.
Maintainer of TCGdex, the open-source multilingual Pokémon TCG database. It serves card data and images through a public API and official SDKs for JavaScript/TypeScript, PHP and Java. API docs live at tcgdex.dev.
A multi-tenant care-management platform: a NestJS + Prisma + PostgreSQL API with Stripe billing, and a Next.js marketing site and customer portal.
A persistent, asynchronous multiplayer civilisation game set in one shared galaxy where your civilisation keeps living while you're offline. It runs on a custom engine written in C++20 (SDL3, CMake) with a server-authoritative architecture.
A large Minecraft mod for NeoForge 1.21.1 (Java 21), with a companion Bedrock add-on. It adds factions, an economy, quests, NPCs, custom bosses and generated structures, built with Python tooling for models and worldgen.
Developer tooling for recording the why behind code. Plans, decisions and constraints live next to the source and are exposed to AI coding agents over MCP, so context survives between sessions. I use it across my own projects.
- Designing and shipping product-led software
- Building scalable backend and API-driven systems
- Creating collector-focused platforms and workflows
- Developing internal tools that improve speed, quality, and maintainability
- Building game and simulation systems
- Contributing to open-source data infrastructure through TCGdex
- Product architecture
- Backend systems and microservices
- GraphQL and REST APIs
- Payments, subscriptions and marketplace escrow with Stripe
- Web applications
- Mobile apps with Expo
- Desktop tooling with Electron
- Game engines, simulation and modding
- Data and workflow tooling
- Platform and developer infrastructure
Much of my primary work is private, so public repository metrics only represent part of my output.
- SixByFive TCG — tcg.sixbyfive.com
- SixByFive Dev — dev.sixbyfive.com
- TCGdex — tcgdex.net · API docs · cards-database
I care about building software that is:
- useful in practice
- clear in purpose
- maintainable over time
- reliable under real usage
- shaped by the needs of the people using it
That usually means working across the full stack, tightening product flows, and building the tooling and infrastructure needed to support long-term growth.


