PortalJS is an open-source AI-native framework for building data portals. It scaffolds three surfaces (Home, Catalog, Showcase) and supports pluggable backends like CKAN/OpenMetadata, with CLI and Claude Code integration.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
PortalJS is an AI-native framework for building data portals. It describes the portal you want; an agent helps you choose an architecture, scaffolds it, and loads datasets. It provides three surfaces—Home, Catalog (/search), and Showcase (/@<namespace>/<slug>)—and uses a DataProvider contract to read data from various backends.
How it works
The system uses agentic skills to advise on architecture and then generate plain, editable Next.js code with no lock-in. It supports multiple backends (static files, CKAN, OpenMetadata, GitHub, frictionless data, and more) via a pluggable DataProvider layer. It ships Claude Code skills to turn briefs into portals and to scaffold datasets and backends. Data loading can push large files to Cloudflare R2 via Git LFS.
Getting started
- Quickstart: create a portal by one command and run locally:
npm create portaljs@latest my-portal
cd my-portal
npm run dev # → http://localhost:3000
- Install Claude Code skills (for AI-assisted scaffolding):
curl -fsSL https://raw.githubusercontent.com/datopian/portaljs/main/scripts/install-portaljs-skills.sh | bash
- To scaffold a portal manually:
npm create portaljs@latest my-portal
- Bare template option:
npx tiged datopian/portaljs/examples/portaljs-catalog my-portal
cd my-portal && npm install && npm run dev # → http://localhost:3000
Recent releases
Latest releases include create-portaljs@0.6.0 (2026-06-18) with minor changes, followed by 0.5.0 (2026-06-15), 0.4.0 (2026-06-15), 0.3.0 (2026-06-14), and 0.2.0 (2026-06-14).
Traction
GitHub stars: 2337. Forks: 333. Open issues: 73. Last push: 2026-08-03.
Behind the repo
The project is maintained by Datopian with a modular structure including core, CKAN integration, OpenMetadata, and example portals. The repository layout includes .claude/commands for skills, examples portals, and packages such as core and ckan.
Caveats
License: MIT. Created: 2011-10-14. Last push: 2026-08-03. Language: TypeScript. The README mentions multiple backends and Cloudflare-based storage (R2) as default; open-source licensing and integration details are provided in the docs and ROADMAP.






