From 5f849296b7271b59d44f7813c3b3275d91a40243 Mon Sep 17 00:00:00 2001 From: Tanner Linsley Date: Wed, 30 Sep 2026 15:31:56 -0600 Subject: [PATCH 1/3] feat: add Scarf Bronze sponsorship and archive Electric --- src/images/scarf.svg | 22 +++++++++++++++++ src/utils/partner-pages.ts | 6 +++++ src/utils/partners.tsx | 50 ++++++++++++++++++++++++++++++++++++-- 3 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 src/images/scarf.svg diff --git a/src/images/scarf.svg b/src/images/scarf.svg new file mode 100644 index 000000000..0f448f2c1 --- /dev/null +++ b/src/images/scarf.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/utils/partner-pages.ts b/src/utils/partner-pages.ts index 6f2088e34..5de2716f9 100644 --- a/src/utils/partner-pages.ts +++ b/src/utils/partner-pages.ts @@ -43,6 +43,12 @@ const partnerGuidance: Record< string, { whyGreat: string; whyTanStack: string } > = { + scarf: { + whyGreat: + 'Scarf connects software downloads, documentation visits, and product telemetry with the companies adopting an open source project.', + whyTanStack: + 'Open source teams building with TanStack can use Scarf to understand project adoption and how companies engage with their documentation.', + }, neon: { whyGreat: 'Neon gives teams real Postgres with lightweight branching and autoscaling compute, which is unusually useful for preview environments, testing, and fast iteration.', diff --git a/src/utils/partners.tsx b/src/utils/partners.tsx index 6459c52e5..a563940fc 100644 --- a/src/utils/partners.tsx +++ b/src/utils/partners.tsx @@ -45,6 +45,7 @@ import renderBlackSvg from '~/images/render-black.svg' import renderWhiteSvg from '~/images/render-white.svg' import openrouterBlackSvg from '~/images/openrouter-black.svg' import openrouterWhiteSvg from '~/images/openrouter-white.svg' +import scarfSvg from '~/images/scarf.svg' import { getPartnerPlacementContext, getPartnersForPlacement, @@ -282,6 +283,7 @@ export const partnerCategories = [ 'auth', 'database', 'monitoring', + 'analytics', 'cms', 'api', 'ai', @@ -297,6 +299,7 @@ export const partnerCategoryLabels: Record = { auth: 'Authentication', database: 'Databases', monitoring: 'Error Monitoring', + analytics: 'Analytics', cms: 'CMS', api: 'API Infrastructure', ai: 'AI/LLM', @@ -1141,8 +1144,10 @@ const electric = ((): Partner => { name: 'Electric', id: 'electric', relatedProducts: ['db'] as const, - status: 'active' as const, - lastReviewedAt: currentPartnerReviewDate, + status: 'inactive', + startDate: null, + endDate: 'Aug 30, 2026', + lastReviewedAt: '2026-09-30', tier: 'bronze' as const, href, canonicalHref: 'https://electric.ax/', @@ -1628,6 +1633,46 @@ const openRouter = ((): Partner => { } })() +const scarf = ((): Partner => { + return { + name: 'Scarf', + id: 'scarf', + href: 'https://about.scarf.sh/?utm_source=tanstack', + canonicalHref: 'https://about.scarf.sh/', + resources: [ + { + kind: 'documentation', + label: 'Scarf documentation', + href: 'https://docs.scarf.sh/', + }, + ], + status: 'active', + lastReviewedAt: '2026-09-30', + relatedProducts: [], + tier: 'bronze', + brandColor: '#0572F1', + tagline: 'Open Source Analytics', + image: { src: scarfSvg }, + llmDescription: + 'Open source usage analytics that connect package downloads, documentation visits, and product telemetry with company adoption.', + category: 'analytics', + applicationStarterPromptInstructions: [ + 'Use Scarf for open source adoption analytics only when it fits the requested project.', + 'Follow the official Scarf documentation for the chosen collection method. Keep account setup and project-specific package or pixel IDs explicit, and never reuse TanStack website tracking IDs.', + ], + content: ( + <> +
+ Scarf helps open source teams understand{' '} + company adoption through package downloads, + documentation visits, and product telemetry. +
+ + + ), + } +})() + export const partners = [ codeRabbit, cloudflare, @@ -1652,6 +1697,7 @@ export const partners = [ fireship, nozzle, speakeasy, + scarf, ] satisfies Array const applicationStarterBrandColorOverrides = new Map([ From 0b7ee1bb552f712646572fd6be9ea7d3de0dba4c Mon Sep 17 00:00:00 2001 From: Tanner Linsley Date: Wed, 30 Sep 2026 15:42:32 -0600 Subject: [PATCH 2/3] feat: add Scarf partnership announcement --- .../blog-assets/scarf-partnership/header.png | Bin 0 -> 32214 bytes src/blog/scarf-partnership.md | 17 +++++++++++++++++ src/utils/partners.tsx | 5 +++++ 3 files changed, 22 insertions(+) create mode 100644 public/blog-assets/scarf-partnership/header.png create mode 100644 src/blog/scarf-partnership.md diff --git a/public/blog-assets/scarf-partnership/header.png b/public/blog-assets/scarf-partnership/header.png new file mode 100644 index 0000000000000000000000000000000000000000..4fcbe8e5def9eeee3c0ca5661999d390807a9618 GIT binary patch literal 32214 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�q-rCCDO$ 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 Ib4q9e0L0zog8%>k literal 0 HcmV?d00001 diff --git a/src/blog/scarf-partnership.md b/src/blog/scarf-partnership.md new file mode 100644 index 000000000..fcda28c4d --- /dev/null +++ b/src/blog/scarf-partnership.md @@ -0,0 +1,17 @@ +--- +title: TanStack + Scarf Partnership +published: 2026-09-30 +excerpt: Scarf joins TanStack to support the open-source tools developers use to build web apps. +authors: + - Tanner Linsley +--- + +![TanStack + Scarf](/blog-assets/scarf-partnership/header.png) + +It's surprisingly hard to tell where an open-source project is being used. Package downloads, docs visits, and GitHub activity each show part of the picture, but none tells the whole story on its own. + +That's why I'm glad to welcome [Scarf](https://about.scarf.sh/) as a Bronze TanStack partner. Scarf helps open-source teams see signals from package distribution and documentation, including activity it can associate with organizations. Their support also helps fund the ongoing work behind TanStack. + +For maintainers, that context can help answer practical questions. Which docs are people finding? How are downloads changing over time? Where should we spend our limited time helping developers? A download or page view doesn't tell you whether someone runs an app in production, but it's a better starting point than a download count alone. + +Thanks to the Scarf team for supporting TanStack and the people building with it. You can [learn more about Scarf and our partnership](/partners/scarf). diff --git a/src/utils/partners.tsx b/src/utils/partners.tsx index a563940fc..dd5b4cd40 100644 --- a/src/utils/partners.tsx +++ b/src/utils/partners.tsx @@ -1640,6 +1640,11 @@ const scarf = ((): Partner => { href: 'https://about.scarf.sh/?utm_source=tanstack', canonicalHref: 'https://about.scarf.sh/', resources: [ + { + kind: 'announcement', + label: 'TanStack + Scarf partnership', + href: '/blog/scarf-partnership', + }, { kind: 'documentation', label: 'Scarf documentation', From 361f1e6c62403a9eccd34156c9e6ea21aee24c6d Mon Sep 17 00:00:00 2001 From: Tanner Linsley Date: Wed, 30 Sep 2026 16:29:18 -0600 Subject: [PATCH 3/3] docs: refine Scarf partnership announcement --- src/blog/scarf-partnership.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/blog/scarf-partnership.md b/src/blog/scarf-partnership.md index fcda28c4d..a25ac9726 100644 --- a/src/blog/scarf-partnership.md +++ b/src/blog/scarf-partnership.md @@ -1,17 +1,17 @@ --- title: TanStack + Scarf Partnership published: 2026-09-30 -excerpt: Scarf joins TanStack to support the open-source tools developers use to build web apps. +excerpt: Scarf joins TanStack as a Bronze partner, supporting the people and work behind our open-source tools. authors: - Tanner Linsley --- ![TanStack + Scarf](/blog-assets/scarf-partnership/header.png) -It's surprisingly hard to tell where an open-source project is being used. Package downloads, docs visits, and GitHub activity each show part of the picture, but none tells the whole story on its own. +We're welcoming [Scarf](https://about.scarf.sh/) as a Bronze TanStack partner. Their support helps fund the ongoing work behind the open-source tools so many developers rely on. -That's why I'm glad to welcome [Scarf](https://about.scarf.sh/) as a Bronze TanStack partner. Scarf helps open-source teams see signals from package distribution and documentation, including activity it can associate with organizations. Their support also helps fund the ongoing work behind TanStack. +Scarf helps open-source teams understand adoption with privacy-conscious analytics, giving maintainers useful context for deciding where to focus their work. -For maintainers, that context can help answer practical questions. Which docs are people finding? How are downloads changing over time? Where should we spend our limited time helping developers? A download or page view doesn't tell you whether someone runs an app in production, but it's a better starting point than a download count alone. +Open source needs more companies willing to support the maintainers doing the work. Thanks to the Scarf team for backing TanStack and helping make that work sustainable. -Thanks to the Scarf team for supporting TanStack and the people building with it. You can [learn more about Scarf and our partnership](/partners/scarf). +You can [learn more about Scarf and our partnership](/partners/scarf).