Live Demo Script

This document captures the usual structure for a live Queryless demo for data portals.

In practice, many demos are currently run on top of PortalJS because that is our main delivery path today. However, the product framing is broader: Queryless is an AI interface for data portals, not only for PortalJS.

Demo setup for client-specific portals

For some clients, we create a dedicated demo portal so they can see Queryless working with their own data.

When that is needed, the setup process is usually:

  1. Go to cloud.portaljs.com
  2. Register an account for the client
  3. Create datasets using the client's data
  4. Enable Queryless on the public frontend

For the current PortalJS-based demo setup, enabling Queryless is mainly a matter of setting the relevant Vercel environment variables. The reference point for those values is the demo.portaljs.com deployment.

Standard demo flow

Link: https://demo.portaljs.com

For general demos, this is the walkthrough we usually follow.

1. Start from the portal itself

Open demo.portaljs.com or the custom demo portal for the client, with the Queryless chat closed.

Explain that this is a working data portal with Queryless enabled, and point out the "Ask AI" floating action button in the bottom-right corner.

We implemented it as an always visible, floating action button, but it's flexible.

![NOTE] See for example how it was implemented in datahub.io: https://staging.datahub.io/ai/epoch-data-on-ai-models

2. Introduce the assistant in context

Open the chat and explain two things:

  • Queryless persists across page navigation
  • Queryless knows what page the user is currently on

Point to the indicator in the chat showing that the user is on the home page, and explain that Queryless always has page-level context.

3. Show dataset discovery

Mention that there is a dataset about happiness in the portal, then ask:

Are there any datasets about happiness in this portal?

When Queryless responds with a link to the dataset, click it.

This demonstrates that Queryless can help users find relevant content and direct them to the right place in the portal.

4. Move from discovery to inspection

Close the Queryless chat and explain that, at this point, a user would often want to inspect the dataset metadata and preview the data itself.

Click the button to preview the data and show the preview table.

Then say something like: "Now let's ask some questions about this data."

5. Show page-aware continuity

Reopen the Queryless chat and point out that:

  • the previous conversation context is still there
  • Queryless now also knows that the user is looking at this specific dataset

This is a good moment to reinforce the difference between Queryless and simpler embedded chat widgets.

6. Ask a simple, verifiable question

Ask a question with an answer that is easy to check manually, for example:

What are the top 10 happiest countries?

While Queryless is thinking, sort the preview table by the Ladder Score column and tell the client that you will compare the answer against the actual data preview.

When Queryless responds, show that the answer matches the data.

7. Show traceability

Ask another question, for example:

What is the average happiness perception across all countries?

When Queryless answers, open the "How this was calculated" accordion below the response.

Use this to show that users can inspect:

  • how the answer was derived
  • what reasoning path was used
  • what SQL query was generated

This is an important trust-building moment in the demo.

8. Show more advanced analysis

Ask a more interpretive question, for example:

What factors contribute the most to happiness?

Then ask Queryless to generate a chart for that answer.

When the chart appears, show that it is interactive, for example through tooltips.

9. Show report creation

Ask Queryless to create a shareable report.

Then open the resulting URL and explain that:

  • reports can contain multiple visualizations
  • they can be refined further through follow-up prompts
  • they can be shared with other users

10. Show export

Ask Queryless to export the data as CSV.

This shows that the workflow does not stop at chat output: users can also take the resulting data and continue working with it elsewhere.

11. Mention multilingual and cross-dataset capabilities

At this stage, mention that Queryless also supports:

  • other languages
  • cross-dataset analysis

If the client wants to see cross-dataset analysis, a common extension is:

  1. Ask about datasets related to global temperature
  2. Open the dataset
  3. Ask Queryless to cross that with fossil fuel emissions data

12. Show refusal behavior

Ask a clearly unrelated question, for example:

Write me a poem

Use the refusal to show that Queryless is scoped to the portal and its data, rather than behaving like a generic chatbot.

13. End with guardrails and controls

Before closing the demo, point to the message-limit indicator above the chat input.

Explain that Queryless supports controls such as:

  • daily usage limits
  • rate limiting

This is useful to address abuse-prevention and cost-control concerns that often come up in client conversations.

Built with LogoFlowershow