finds.dev← search

// the find

datopian/portaljs

★ 2,355 · TypeScript · MIT · updated Sep 2026

🌀 AI-native framework for building data portals. Scaffold a full portal from a brief and load datasets in minutes with agentic skills — any backend (CKAN, GitHub, Frictionless).

PortalJS is a Next.js framework from Datopian (the CKAN company) for building data-catalog sites — a home page, a searchable catalog, and per-dataset showcase pages, all reading through a swappable DataProvider so the backend can be flat files, CKAN, GitHub, or a Parquet+DuckDB lakehouse. Its hook is a set of Claude Code slash commands (/portaljs-new-portal, /portaljs-add-dataset, etc.) that scaffold and wire up the portal for you. Best for teams standing up a public data catalog who don't want to build search/showcase/metadata pages from scratch.

The DataProvider seam is real, not just a diagram — examples/ ships working reference portals against CKAN, GitHub, and Frictionless backends, so the abstraction has actually been exercised against different backends rather than being aspirational. There's an explicit non-AI escape hatch (npx tiged .../portaljs-catalog) that gives you the plain Next.js template with no slash commands and no Claude Code dependency, so you're not forced into the agentic workflow to get value from the repo. The default storage recommendation (git + R2 + Parquet + DuckDB, with DuckLake for incremental tables) is a sensible middle ground between 'pile of CSVs' and 'stand up a warehouse you don't need.'

The 'AI-native' pitch is Claude Code specifically — the skills are Claude Code slash commands, not a portable agent spec, so if you're on Cursor, Copilot, or nothing at all, you're just using the plain template and most of the README's value proposition doesn't apply to you. Scope has sprawled well past a frontend framework: there's a whole Cloudflare backend in cloud/ (auth service, API worker, D1 migrations, LFS handling) plus a hosted deploy target (PortalJS Arc) baked into the deploy skill, so 'no lock-in' is true of the frontend code but less true once you're using the skills end-to-end. The /portaljs-architect 'advisory' skill is presented as helping you decide infrastructure, but it's an LLM prompt wrapper, not a benchmarked decision engine — worth treating its recommendations as a starting point to verify, not expert judgment.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →