diff --git a/public/blog-assets/scarf-partnership/header.png b/public/blog-assets/scarf-partnership/header.png new file mode 100644 index 000000000..4fcbe8e5d Binary files /dev/null and b/public/blog-assets/scarf-partnership/header.png differ diff --git a/src/blog/scarf-partnership.md b/src/blog/scarf-partnership.md new file mode 100644 index 000000000..a25ac9726 --- /dev/null +++ b/src/blog/scarf-partnership.md @@ -0,0 +1,17 @@ +--- +title: TanStack + Scarf Partnership +published: 2026-09-30 +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) + +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. + +Scarf helps open-source teams understand adoption with privacy-conscious analytics, giving maintainers useful context for deciding where to focus their work. + +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. + +You can [learn more about Scarf and our partnership](/partners/scarf). 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..dd5b4cd40 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,51 @@ 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: 'announcement', + label: 'TanStack + Scarf partnership', + href: '/blog/scarf-partnership', + }, + { + 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 +1702,7 @@ export const partners = [ fireship, nozzle, speakeasy, + scarf, ] satisfies Array const applicationStarterBrandColorOverrides = new Map([