portaljs

🌀 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, GitH

What is portaljs?

🌀 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).

Overview of portaljs

What it is

PortalJS is an open-source, AI-native framework for building data portals. It provides agentic skills (Claude Code commands) that help data teams scaffold a full portal from a brief, load datasets, and choose an architecture. The framework generates plain, editable Next.js code with no lock-in and supports multiple backends including static files, CKAN, GitHub, and Frictionless.

Key features

  • Scaffold a complete portal (Home, Catalog, Showcase) from a brief using agentic skills - Load datasets (CSV, JSON, GeoJSON, etc.) with a single command via /portaljs-add-dataset
  • Pluggable backends through a DataProvider contract — swap sources without changing pages - Ships Claude Code skills for architecture advice, scaffolding, adding datasets, charts, maps, and deployment - Supports multiple storage and compute options: flat files, Git-LFS + R2, Parquet on R2 + DuckDB, or traditional warehouses/CKAN - Open source under MIT license

Use cases

  • Data teams building public or internal data portals from scratch - Rapid prototyping of a portal with sample data and AI-assisted setup - Integrating existing data backends (CKAN, GitHub, object storage) into a unified frontend - Adding interactive charts and maps to dataset showcases

Getting started

bash npm create portaljs@latest my-portal cd my-portal npm run dev # → http://localhost:3000 For AI-assisted setup, install Claude Code skills: bash curl -fsSL https://raw.githubusercontent.com/datopian/portaljs/main/scripts/install-portaljs-skills.sh | bash

License and pricing

The project is open source under the MIT license. No pricing information is stated beyond the open source nature.

Based on the project's public README and repository metadata.

Add this badge to your README

Featured on YunoDB Badge styles & help

Maintain this project? Show that it is featured on YunoDB.

Markdown[![Featured on YunoDB](https://yunodb.com/badge/datopianportaljs.svg)](https://yunodb.com/tools/datopianportaljs?utm_source=github&utm_medium=badge)
HTML<a href="https://yunodb.com/tools/datopianportaljs?utm_source=github&utm_medium=badge"><img src="https://yunodb.com/badge/datopianportaljs.svg" alt="Featured on YunoDB" height="20"></a>