szum - The chart design system: one config, every surface

by•
szum turns simple JSON into publication-quality charts. Define a chart once, then render the same result as a PNG/SVG through the API, publish it from Figma, or embed it live. Includes six curated themes, an LLM-friendly grammar, an MCP server, and 250 free keyless renders per month – no signup required.

Add a comment

Replies

Best
Maker
šŸ“Œ
Hey PH! šŸ‘‹ I'm Bartosz, the creator of szum. As a data visualization engineer, I've seen the struggle of keeping charts aligned between design, development, and marketing way too many times. szum is my solution to this problem – a single source of truth that renders the same charts consistently across different surfaces. The Figma plugin and szum's server renderer share the same rendering logic. This means that the chart designed in Figma can match exactly what appears later in your application, email, or agent workflow.* The fastest way to try it: → szum.io/create – no signup → API – 250 free renders/month, no key needed Every chart comes in one of six curated themes – Editorial, Clean, Noir, Loud, Soft, and Technical. I'd especially love feedback on the chart grammar, themes, and which integrations should come next. Thanks! ā¤ļø *Yes, szum also has an MCP server – point your agent at szum.io/mcp and let it render charts that belong with the rest of your visual system.

honestly the no signup thing is a nice touch, just dropped in some json and got a clean svg back without filling out a single form. the mcp server idea is smart too, basically cuts out the usual copy paste dance between claude and whatever charting tool you are using

Ā thanks – that was exactly the goal! I wanted the first chart to feel instant, with signup only becoming relevant when you actually want to save or manage things.

And yes, the MCP server is mostly about removing that copy-paste loop and letting the model generate the chart directly where you're already working šŸ‘Œ

the JSON grammar feels really natural to write by hand, and getting matching SVG and PNG output from the same definition is genuinely useful. wish i had this a few months ago when i was fighting with d3 exports