Build a data portal
by describing it.
The AI-native framework for data portals. Tell your AI agent what you want — it scaffolds the site, loads your data, and wires a backend. You own plain, editable code.
One framework, two ways to drive it. Same AI skills, same plain editable code — from your terminal, or in chat.
Trusted by data leaders worldwide
Leading governments, enterprises, and research institutions trust PortalJS
Describe → Scaffold → Publish
Three steps from an idea to a live portal — skills do the assembly, and the output is plain, editable code.
Describe
Tell your AI assistant the portal you want — the audience, the data, the look. Plain language, no boilerplate.
Scaffold
Skills assemble a real Next.js project: pages, tables, charts, and maps wired to your data. The output is plain, editable code.
Publish
Ship a fast static site or connect a live backend. Own every file — there is no magic runtime to lock you in.
Built to fit your stack, not replace it.
A decoupled framework: keep the catalog, metadata system and frontend tooling you already run.
Open source, MIT
No lock-in, no license traps. Fork it, ship it, own it.
AI-native
Skills do the assembly. Your assistant scaffolds pages, loads data, and wires up views.
Any backend
CKAN, DKAN, OpenMetadata, Microsoft Purview, DataHub, GitHub, Frictionless, or your own.
Bring your own stack
Adapt PortalJS to your frontend tooling and design system. Plain, editable code throughout.
Community-driven
An active Discord and open discussions. Built in the open, used in production.
Decoupled. Works with what you already have.
Point PortalJS at your catalog or metadata system. Swap backends without rewriting your frontend.
From a KB of CSV to multi-GB datasets.
The same portal grows with your data — big files on object storage, queried in the browser, shipped with one command.
Scale your data
Large files version with Git LFS and stream to Cloudflare R2 via Giftless. Your repo stays light while datasets scale to gigabytes.
Scaling dataQuery in the browser
Convert to Parquet and the showcase reads it with DuckDB-Wasm — SQL over big files, fetching only the bytes a query touches. No server.
In-browser queryDeploy to Arc
Run /portaljs-deploy to publish a static export to PortalJS Arc — Datopian-managed hosting on Cloudflare — live at a <slug>.arc.portaljs.com URL.
PortalJS ArcReal portals, built with PortalJS.
From national open-data programs to city governments and research networks.
Skills are first-class.
Every capability is a documented skill — composable, inspectable, and yours to extend. Author your own and the assistant picks them up.
Built-in skills
Write your own
Skills are plain, documented, and version-controlled. Add a capability once — reuse it across every portal you build.
Build your data portal today.
Open source, AI-native, no lock-in. Describe it once — ship plain, editable code you fully own.
Backed by a Global Community
We are growing. Get in touch or become a contributor!









