Build a database-driven /ecosystem marketplace and submission flow without blocking the partner-page SEO work.
- Create an
/ecosystemdirectory page that acts like a marketplace - Let users sort and filter entries by the fields that actually matter
- Let companies submit new listings through a first-party submission flow
- Seed the marketplace with existing TanStack partners when the DB work starts
- Let TanStack maintainers add an official review and comparisons to each listing
- Keep partner-backed entries aligned with
/partners/[partner]pages
- Add a new
ecosystemEntriestable - Add a dedicated moderation capability like
moderate-ecosystem - Keep the schema intentionally small and high-value
Suggested v1 fields:
iduserIdslugnamewebsiteUrlkindtagslibrariespricingModelisOpenSourcepreferenceScoreisPartnerlogoUrlscreenshotUrlsummaryofficialReviewMdcompetitorSlugsstatusmoderationNotemoderatedBymoderatedAtcreatedAtupdatedAt
Use a very small taxonomy surface:
kind:integration | service | tool | template | pluginpricingModel:free | freemium | paid | contact | osstags: string[]absorbs both "type" and "service"
Use slugs everywhere.
- Partners compare against other partner ids, which are also their slugs
- Ecosystem entries compare against ecosystem slugs
- Partner-backed ecosystem entries should reuse the same slug namespace
Suggested v1 field:
competitorSlugs: string[]
No UUID-based comparison references for v1. No partner-only comparison system. No extra comparison tables unless the simple shape breaks down.
- Partner-backed entries should be canonical at
/partners/[partner] - Non-partner entries should be canonical at
/ecosystem/[slug] - If a partner-backed entry is reachable from
/ecosystem/[slug], redirect or canonicalize to/partners/[partner]
Build a user-facing submission portal similar in spirit to showcase, but for ecosystem listings.
Suggested v1 required fields:
namewebsiteUrlkindtagslibrariespricingModelisOpenSourcelogoUrlscreenshotUrlsummary
Maintainer-only fields for v1:
preferenceScoreofficialReviewMdcompetitorSlugs- moderation fields
- Add
/admin/ecosystem - Add
/admin/ecosystem/[id] - Let maintainers moderate submissions
- Let maintainers edit all listing fields
- Let maintainers set
preferenceScore - Let maintainers author
officialReviewMd - Let maintainers manage
competitorSlugs
- Add
/account/ecosystem - Let users view, edit, and delete their own submissions
- Keep this separate from
/account/integrations, which already means something else
- Seed existing partners into the ecosystem table when the DB work starts
- Preserve current partner ids as ecosystem slugs for partner-backed entries
- Seed
preferenceScorefrom the existingpartners[].scorevalues - Start seeded partner entries as
approved - Keep the current score scale and revisit later if needed
- Add ecosystem capability, enums, and DB schema
- Add ecosystem server functions and query options
- Seed partner rows into the new table
- Build
/ecosystemindex and/ecosystem/[slug] - Build
/ecosystem/submitand edit flows - Build
/account/ecosystem - Build
/admin/ecosystem - Add SEO metadata and JSON-LD
- Run
pnpm test
- Reuse showcase architecture patterns, not the showcase schema
- Keep the implementation intentionally small at first
- Avoid over-modeling comparison data until real usage demands it
- Partner pages ship first; ecosystem follows later