LIVE_DEMO
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:
- Go to
cloud.portaljs.com - Register an account for the client
- Create datasets using the client's data
- 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:
- Ask about datasets related to global temperature
- Open the dataset
- 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.