We will be undergoing planned maintenance on January 16th, 2026 at 1:00pm UTC. Please make sure to save your work.

Inspiration

Every day, business teams receive CSV exports - sales reports, customer feedback, campaign metrics. But they hit a wall. They don't know Python. They don't know SQL. And waiting 3 days for the data team to run a simple analysis isn't an option when decisions need to happen now.

I watched marketing managers stare at spreadsheets, unable to answer basic questions like "Which products are declining?" or "What's our best-performing region?" The technical barrier was killing their productivity.

That's when I realized: What if business teams could just ask questions in plain English and get instant, actionable insights?


What it does

Novalyst brings AI-powered data analysis directly into Confluence - the tool business teams already use every day.

Here's the workflow:

  1. Upload your data - Drag and drop any CSV file (sales data, customer feedback, marketing metrics)

Alt text

  1. Ask questions in plain English - "Which products have declining sales trends?" or "What are the top customer complaints?"

Alt text

  1. Get instant insights - Novalyst's AI agent reads your data, writes Python code, executes analysis, and generates visualizations - all automatically

Alt text

Alt text

Alt text

  1. Save to Confluence - One click creates a permanent report with code, results, embedded charts, and key insights that your team can discuss and act on

Alt text

Key features:

  • Zero learning curve - If you can use ChatGPT, you can use Novalyst
  • Multi-user support - Marketing analyzes campaigns, Sales tracks performance, Support reviews feedback - all securely separated
  • Confluence-native - Reports live where teams already collaborate, not lost in chat histories
  • Real AI execution - Not just prompts - actual code generation and execution using Agentic AI

Technical highlights

Under the hood, Novalyst safely executes AI-generated Python in isolated containers, streams live analysis progress to the frontend, and converts results into fully formatted Confluence pages with embedded charts and insights.

The system is designed to handle concurrent users with strict data isolation and predictable performance.


Challenges I ran into

Secure code execution

Letting an AI generate and run Python is powerful — and dangerous.

I solved this by sandboxing execution in Docker containers, enforcing strict timeouts and resource limits, and isolating each user’s data. When something fails, it fails safely.

Streaming in Forge

Forge’s Custom UI has strict CSP rules that block direct backend API calls.

To work around this, I built resolver-based APIs to proxy all communication and used polling instead of WebSockets for long-running analysis jobs. Careful state management made it possible to show progressive results without breaking Forge’s constraints.

Chart persistence

AI-generated charts are ephemeral by default.

I fixed this by Base64-encoding chart images, embedding them directly in events, attaching them to Confluence pages using the v1 attachment API, and ensuring charts persist even after backend instances scale down.


Accomplishments that I'm proud of

  • Made Novalyst dead easy to use. Anyone across marketing, sales, HR, finance, support, or legal can go from raw data to answers without technical help
  • Removed friction for business teams. No SQL, no Python, no waiting on specialists; just upload data and ask questions
  • Built for real business workflows. This helps teams stay aligned, move faster, and make the right calls when it matters
  • Created clarity at speed. Insights are generated and saved where teams already collaborate, not lost in tools or chats

What I learned

Technical lessons

Forge Custom UI behaves very differently from traditional web apps i.e. CSP limitations, iframe constraints, and resolver patterns.

The Confluence v2 API is faster, but still less feature-complete than v1 for things like attachments.

Product lessons

  • Business users don’t want “AI.” They want answers. The simpler the interface, the better the product.
  • Integration depth matters. Saving content to Confluence isn’t enough. It needs to be rich, readable, and collaborative.

What's next for Novalyst

In the short term, I want to add analysis templates for common scenarios like sales performance, customer feedback, and campaign ROI. I also plan to introduce collaborative features (comments, mentions, and shared discussion directly on insights) along with a Confluence macro for embedding live analysis widgets.

Longer term, probably a conversational agent that can query all stored analyses. Scheduled reports that post updates to Confluence automatically. Team-level analytics that show which questions matter most. And eventually, a polished marketplace release with tiered pricing.

Built With

Share this project:

Updates