<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dada Ajibola Omotoyosi</title>
    <description>The latest articles on DEV Community by Dada Ajibola Omotoyosi (@cascadinggeek).</description>
    <link>https://dev.to/cascadinggeek</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2368257%2Fc373a91f-49fd-4455-a5ef-1c5890e6b32f.png</url>
      <title>DEV Community: Dada Ajibola Omotoyosi</title>
      <link>https://dev.to/cascadinggeek</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cascadinggeek"/>
    <language>en</language>
    <item>
      <title>I published the beta of my bubble chart library. Help me break it!</title>
      <dc:creator>Dada Ajibola Omotoyosi</dc:creator>
      <pubDate>Mon, 09 Nov 2026 22:19:31 +0000</pubDate>
      <link>https://dev.to/cascadinggeek/i-published-the-beta-of-my-bubble-chart-library-help-me-break-it-3m6o</link>
      <guid>https://dev.to/cascadinggeek/i-published-the-beta-of-my-bubble-chart-library-help-me-break-it-3m6o</guid>
      <description>&lt;p&gt;In January I posted a crypto bubble chart I'd built from scratch on Threads. Few people saw it.&lt;/p&gt;

&lt;p&gt;Ten months, one redesign and a lot of tests later, it's a library: &lt;strong&gt;OrbFlow&lt;/strong&gt;. It's a bubble chart for the web where the bubbles act like bubbles. They rise in when the chart scrolls into view, float, push each other apart, and pop when you tap one.&lt;/p&gt;

&lt;p&gt;Today the beta is on npm, and I'd like you to try to break it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it in two minutes
&lt;/h2&gt;

&lt;p&gt;npm i orbflow@beta&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;React&lt;/strong&gt; (18 or 19, works with Next.js):&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { OrbChart } from "orbflow/react";

export default function App() {
  return (
    &amp;lt;div style={{ width: 600, height: 400 }}&amp;gt;
      &amp;lt;OrbChart
        data={[
          { id: "a", label: "Apples", value: 40 },
          { id: "b", label: "Pears", value: 25 },
          { id: "c", label: "Plums", value: 10 },
        ]}
        onOrbClick={(orb) =&amp;gt; console.log(orb.label)}
      /&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Plain JavaScript:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { OrbChart } from "orbflow";

const chart = new OrbChart("#chart");
chart.setData([
  { id: "a", label: "Apples", value: 40 },
  { id: "b", label: "Pears", value: 25 },
]);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Give the container a size and the chart fills it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's in the box
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Zero runtime dependencies, about 15 kB gzipped&lt;/li&gt;
&lt;li&gt;Bubble area follows the value, so twice the value really looks twice as big&lt;/li&gt;
&lt;li&gt;Tap to pop, with droplets, and popped bubbles can come back&lt;/li&gt;
&lt;li&gt;Keyboard and screen reader support: every bubble is a real button in a hidden list&lt;/li&gt;
&lt;li&gt;Respects "reduce motion": the chart settles and stays still&lt;/li&gt;
&lt;li&gt;TypeScript types, ESM, CommonJS, and a CDN script&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why a beta
&lt;/h2&gt;

&lt;p&gt;Once it's called 1.0, the API is a promise, and renaming anything after that breaks your app. So before I make that promise, I want to hear what feels wrong. The things I most want feedback on:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Were the prop and option names what you expected?&lt;/li&gt;
&lt;li&gt;Did anything about sizing or layout surprise you?&lt;/li&gt;
&lt;li&gt;What data did you try, and did it read well as bubbles?&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What's left before v1
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Docs and API reference pass&lt;/li&gt;
&lt;li&gt;[ ] Runnable examples&lt;/li&gt;
&lt;li&gt;[ ] A speed pass for big charts&lt;/li&gt;
&lt;li&gt;[ ] Your feedback&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Open an issue on &lt;a href="https://github.com/cascadingGeek/OrbFlow/issues" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; or comment here. Everyone whose feedback changes something gets credited in the v1 release notes.&lt;/p&gt;

&lt;p&gt;I'm building the rest in public on &lt;a href="https://www.threads.com/@cascadinggeek" rel="noopener noreferrer"&gt;Threads&lt;/a&gt; and &lt;a href="https://x.com/_cascadinggeek" rel="noopener noreferrer"&gt;X&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>react</category>
      <category>webdev</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
