You do not need to write code. Each step below gives you a prompt to paste into your AI agent. The agent creates the tables in Nekt, builds the app, and deploys it. The text around each prompt explains what is happening and how to confirm it worked.
How this works
The plan has three core steps, plus two optional enhancements:1
Materialize the report data in Nekt
Turn the SQL behind your report into scheduled Queries that precompute clean, fast tables.
2
Turn the report into a live app
The agent adds a small server function that reads those tables from Nekt through the Data API, and wires your report to load from it.
3
Deploy with Vercel
Publish the app to a public URL, optionally connected to GitHub.
Architecture
The key idea is that your Nekt API key stays on the server. Your report never talks to Nekt directly. It calls a small server function that queries Nekt, caches the result, and returns clean data.Before you start
1
Use an agent that can build and deploy
You need an agent that can create files and run commands in a project folder, such as Claude Code or the Codex CLI, connected to Nekt. Follow Connect Claude or Connect Codex if you have not already.
Claude.ai on the web can create the Nekt Queries in Step 1, but it cannot build and deploy the app. For the full flow, use a coding agent.
2
Have your report and its SQL ready
Keep your static report file (the HTML the agent generated) and the SQL queries behind it. If the SQL is embedded in the HTML, that is fine, the agent can extract it.
3
Create a Nekt API key
In Nekt, go to Workspace Settings > API Keys and create an API key. You will paste it into the agent during deployment. Requires a paid Nekt plan.
4
Create a free Vercel account
Sign up at vercel.com. This is where your live report will be hosted.
Step 1: Materialize the report data in Nekt
Your report was built from one or more SQL queries that join and aggregate raw tables. Running those joins every time someone opens the report is slow. Instead, you precompute them once into clean, ready-to-read tables that the app loads instantly. A report is usually made of several sections (a KPI row, a revenue chart, a top-customers table, and so on), and each section is backed by its own query. You create one materialized table per section. A simple report may need just one table; a richer one may need several. Paste this into your agent:Prompt
report_* table exists and holds the expected rows.
For logic SQL cannot express (machine learning, external API calls, complex reshaping), ask the agent to use a Notebook instead. The result lands in the Catalog the same way, so the rest of this guide is unchanged.
Step 2: Turn the report into a live app
Now the agent builds a small app around your existing report. It keeps your layout and charts, and adds a server function that reads the materialized tables from Nekt’s Data API and hands the data to the page. Paste this into your agent:Prompt
http://localhost:3000) and your report shows live data pulled from Nekt.
Reference: the Data API call and the function the agent builds
Reference: the Data API call and the function the agent builds
The Data API runs a SQL query and returns a presigned URL to download the results:The function lists every table in one place, runs the queries in parallel, and returns the datasets keyed by section:
api/report.js
Optional: Add caching
Without caching, every visitor and every refresh triggers a new query to Nekt. Since your tables only change when the scheduled Queries rerun, you can safely serve a cached copy for a while. This makes the report load instantly and reduces load on Nekt. Paste this into your agent:Prompt
Optional: Add authentication
If your report is meant to be public, skip this. If it holds internal data, gate it. Paste one of these into your agent:Prompt: simplest, no code
Prompt: app-level password
Step 3: Deploy with Vercel
Finally, the agent publishes the app to a public URL. Connecting a GitHub repository is recommended (every change you make later redeploys automatically) but optional. Paste this into your agent:Prompt
Fast path: one prompt
If you would rather run the whole flow at once, paste this single prompt into your agent (connected to Nekt) after completing Before you start:Prompt
Keeping it fresh
Your report now updates itself: the scheduled Queries refresh the tables in Nekt, and the app reads the latest data on each cache cycle.- Change what it shows: ask the agent to update the Nekt Query or the SQL in
api/report.js. - Change how it looks: ask the agent to edit the report and redeploy (automatic if you connected GitHub).
Data API reference
Endpoint details, output formats, and limitations.
Queries overview
Schedule and orchestrate the queries that feed your report.
Connect Claude
Build and edit the report with Claude over MCP.
Connect Codex
Build and edit the report with Codex over MCP.