Skip to main content
When you connect Claude or Codex to Nekt through the MCP Server, it can explore your data and generate a polished HTML report in minutes. The problem is that report is frozen: the numbers are baked into the file, and the moment your data changes it is out of date. This guide turns that static report into a live app, accessible over the web, that always reflects your current data.
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.
Two optional enhancements, caching and authentication, are covered along the way. Add them if your report needs them, or skip them for a first version.

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.
In a hurry? Skip to the all-in-one prompt that runs the whole flow at once, then come back to any step you want to adjust.

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
Confirm it worked: open your Nekt Catalog and check that each new 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
Confirm it worked: the agent runs the app locally (usually http://localhost:3000) and your report shows live data pulled from Nekt.
The Data API runs a SQL query and returns a presigned URL to download the results:
Presigned URLs expire after 1 hour. The app caches the parsed data, never the URL.
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
Confirm it worked: reload the report a few times. After the first load it should return instantly without querying Nekt again.
For finer control or a cache shared across regions, ask the agent to use Vercel KV with an explicit expiration instead of the header.

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
Confirm it worked: open the report in a private browser window. You should be asked to authenticate before seeing any data.
Whichever method you choose, your Nekt API key stays server-side only. Never let the agent place it in browser code.

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
Confirm it worked: open the URL the agent returns. Your report is now live and shows current data from Nekt.
Set your Nekt API key as a Vercel environment variable only, as in the prompt above. Never commit it to your code or GitHub repository.

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.

Need help?

Contact our support team if you run into issues while building your live report.