← Project Archive

Data visualization · 2024–Present

SimpleChart

A metadata-driven NetSuite visualization platform for turning SuiteQL, saved searches, and Workbook datasets into reusable, interactive dashboard experiences.

Watch the product demo ↗

Why we built it

I developed SimpleChart to make modern data visualization practical inside NetSuite without building a new SuiteScript UI for every dashboard. Administrators configure a reusable Plotlet record, connect a data source, and choose which Observable notebook cells should appear in a dashboard portlet or Suitelet.

Metadata-driven runtime

  • Plotlet definitions hold the notebook URL, data source, visible cells, audience, and sizing.
  • Charts can load from SuiteQL, saved searches, or NetSuite Workbook datasets.
  • Redefines inject data, filters, role context, URL parameters, and other runtime values.
  • Role- and employee-based audiences govern access per visualization.

Interactive bridge

  • An embedded Observable runtime renders configured cells inside NetSuite.
  • Notebook cells can transmit selections or values back to the parent application.
  • Plugins run in the browser or through a server-side Suitelet endpoint.
  • Plugin results flow back into the notebook as live redefined values.

Extensible architecture

The chart definition builder separates NetSuite metadata and data retrieval from the Observable rendering layer. Small transmit plugins add focused behavior—such as loading records from a selection—without coupling that logic to the chart host or requiring a fork of the visualization runtime.

Operational range

Standard SuiteQL queries serve everyday dashboards, while a paged query helper supports much larger result sets in 5,000-row batches. The same chart definition can render directly in a dashboard or through a Suitelet wrapper when server-side interaction is required.

Outcome

SimpleChart turned one-off NetSuite dashboards into a configurable product surface. Teams can reuse the visualization runtime, swap data sources, control audiences, and add interaction through plugins while keeping the chart itself in a familiar Observable development workflow.

Technical range

JavaScript, NetSuite SuiteScript 2.1, SDF, SuiteQL, saved searches, Workbook datasets, Observable Runtime, iframe messaging, dashboard portlets, Suitelets, AMD plugins, and role-aware access control.