Skip to content

Instantly share code, notes, and snippets.

View Esya's full-sized avatar

Tristan F. Esya

  • WeMaintain
  • Paris
View GitHub Profile
@Esya
Esya / firecrawl-call-brief.md
Created July 27, 2026 14:57
Firecrawl call brief — Cardmarket scale test status, no-data/stealth question, asks

Firecrawl call brief — Cardmarket at scale

Status: Firecrawl is our front-runner. Only provider doing true 1-credit single-call pagination at 10k scale, and the lowest projected cost. One open issue to close on this call (the no-data/stealth question) + lock pricing.


The numbers (from our real 10k run)

  • 9,895 products, concurrency 80, 90.2% success.
  • Pagination = exactly 1 credit/product regardless of depth (mean 2.66 pages/product; the actions bundling works — verified, 9,669 credits for 9,669 billed requests).
  • ~$0.00065 per useful product → ≈ $4,900/mo @ 7.5M (at ~$0.0006/credit Scale rate — to be firmed up).
@Esya
Esya / crawlbase-webhook-spec.md
Last active July 21, 2026 23:05
Webhook receiver spec — Crawlbase Cardmarket crawl results (endpoint, run_result schema, S3 storage)

Cardmarket price crawl — full brief + Crawlbase webhook receiver spec

Owner: CardNexus platform · For: the team hosting the webhook receiver (and Crawlbase integration) · Status: 🧪 temporary evaluation package Crawlbase details verified against /docs/crawler/receiving and /docs/crawler/api (read 2026-07-21).

🧪 This is a throwaway package — we are evaluating Crawlbase

This is not committed infrastructure. We're trialling Crawlbase as one candidate provider. The run_result table and the S3 artifacts here are temporary:

  • If we don't go with Crawlbase → we delete the table, delete the S3 bucket/prefix, and remove the package. Nothing else should depend on them. Build it to eject cleanly (see C.9).
  • If we do go with Crawlbase → we throw this away too and refactor into a proper, permanent data model aligned with the monorepo. >
@Esya
Esya / crawlbase-enterprise-spec.md
Created July 21, 2026 16:02
Crawlbase Enterprise Crawler — Cardmarket functional spec (data goal, load-more, filters)

Cardmarket Enterprise Crawler — functional spec (CardNexus)

Hi Josh,

Thanks — the Enterprise Crawler model is exactly what we're after: we push URLs to your API, your crawler fetches and fully paginates each page, and you return the results to us via webhook, with a success-rate guarantee and throughput handled on your side. I'm setting up the crawler in your platform now. This email is the functional spec so your crawler/solutions team knows precisely what we need out of each page.


1. How we'll use it

@Esya
Esya / brightdata-support-email.md
Created July 21, 2026 12:49
Bright Data support — Cardmarket load-more pagination questions (Web Unlocker / Scraping Browser / Scraper Studio)

To: support@brightdata.com — Cc: David El Kaim

Subject: Stateful "load more" pagination on a Cloudflare site (Cardmarket) — Web Unlocker vs Scraping Browser vs Scraper Studio

Hi team,

I'm working with David El Kaim (in Cc) on evaluating Bright Data for CardNexus. We scrape competitor marketplace price data, starting with Cardmarket (Cloudflare-protected), at ~5–7M requests/month to begin with. We handle all parsing in-house — what we need from you is a reliable Cloudflare bypass that returns the HTML, including the paginated offers.

What already works

@Esya
Esya / brightdata-reply-david.md
Created July 21, 2026 12:01
Réponse à David (Bright Data) — tests Web Unlocker Cardmarket

Re: Web Unlocker — premiers tests sur Cardmarket

Bonjour David,

Ravi d'échanger avec toi, et merci pour la mise en relation avec l'équipe commerciale (en copie).

Pour répondre à tes questions et faire un point sur les premiers tests :

Notre stack / notre besoin

@Esya
Esya / Slugify a CardNexus product name.md
Created July 8, 2026 20:25
How to slugify a CardNexus product name into a nameSlug (JS/TS, zero-dep, Python)

Slugify a CardNexus product name

CardNexus product/card names are slugified into a URL-safe nameSlug — for example Bravo, Showstopperbravo-showstopper. If you have a name and want to reproduce the exact slug (e.g. to build a /products/search filter), use the function below.

Under the hood we use the slugify package (v1.6.6) with a fixed configuration plus a few extra character mappings. Matching that configuration guarantees your slug lines up with ours.

@Esya
Esya / cardnexus-shield-brief.md
Created May 16, 2026 13:03
CardNexus Shield — marketing brief for the Prismic team (landing page + terms page + help center)

CardNexus Shield — Marketing Brief

Audience: Prismic content + design team building the public landing page. Goal: Drive seller awareness and opt-in by making Shield feel like the obvious "insure your shipment" button in the seller's mind. The product is live (gated behind a feature flag); copy and visuals can ship as soon as the rollout opens.


1. Product summary in one sentence

CardNexus Shield is an opt-in, per-shipment insurance that protects sellers against loss, theft, and damage in transit for +1 percentage point on the seller commission, applied only to the orders the seller chooses to cover.

@Esya
Esya / portfolio-snapshot-bug-findings.md
Created April 8, 2026 09:56
Portfolio snapshot bug investigation - OpenSearch/ProductView price sync gap

Portfolio Snapshot Bug - Investigation Findings

Date: 2026-04-08 Affected user (example): bart6446 (bartoffermans@gmail.com, userId: 6876c28bc2fa8516b1a41cf4) Impact: Portfolio value dropped from ~46.7k to ~41k (~12% loss)


TL;DR

@Esya
Esya / portfolio-snapshot-price-fallback-bug.md
Created April 7, 2026 16:52
Bug: Portfolio snapshot lost price fallback after OpenSearch migration

Bug: Portfolio snapshot lost price fallback after OpenSearch migration

Summary

Portfolio snapshots dropped ~12% for users with many Cardmarket-listed products because the OpenSearch-based computation only uses marketValue, while the old MongoDB-based computation applied the full fallback chain (marketValue → low → mid → high).

Impact

  • Affects all users — any product where Cardmarket marketValue is null/0 but low, mid, or high has a value is now valued at €0 in the snapshot.
  • Example user bart6446 (bartoffermans@gmail.com): collection value dropped from ~€46.7k to ~€41k overnight (€5,700 / ~12%).

CardNexus Maintenance Mode API

Endpoint

GET https://app.cardnexus.com/api/maintenance/status

No authentication required.