<?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: Barsham Sotoudeh</title>
    <description>The latest articles on DEV Community by Barsham Sotoudeh (@barsham).</description>
    <link>https://dev.to/barsham</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%2F4061617%2Fdb651bb2-fa14-4c55-b605-8ce3d7f1664d.jpg</url>
      <title>DEV Community: Barsham Sotoudeh</title>
      <link>https://dev.to/barsham</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/barsham"/>
    <language>en</language>
    <item>
      <title>Can you break this open-source real-time coordination tool in seven minutes?</title>
      <dc:creator>Barsham Sotoudeh</dc:creator>
      <pubDate>Tue, 04 Aug 2026 03:41:20 +0000</pubDate>
      <link>https://dev.to/barsham/can-you-break-this-open-source-real-time-coordination-tool-in-seven-minutes-18f</link>
      <guid>https://dev.to/barsham/can-you-break-this-open-source-real-time-coordination-tool-in-seven-minutes-18f</guid>
      <description>&lt;p&gt;I maintain &lt;a href="https://chantlive.online/" rel="noopener noreferrer"&gt;ChantLive&lt;/a&gt;, a free and open-source tool for coordinating short, live messages at demonstrations and community events.&lt;/p&gt;

&lt;p&gt;An organizer prepares a list and pushes one item at a time. Participants open a public link, without creating an account, and see each update in real time. The source is on &lt;a href="https://github.com/barsham/ChantLive" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The stack is React, TypeScript, Express, PostgreSQL, Drizzle ORM, and Socket.IO. The interesting part is not the stack, though. It is whether the participant flow survives the messy conditions of a real event.&lt;/p&gt;

&lt;h2&gt;
  
  
  The seven-minute break test
&lt;/h2&gt;

&lt;p&gt;You can do this alone with two browsers or devices.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open ChantLive and create a fictional event called &lt;code&gt;Community Test&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Add three harmless sample messages: &lt;code&gt;Welcome everyone&lt;/code&gt;, &lt;code&gt;Together we can&lt;/code&gt;, and &lt;code&gt;Thank you for being here&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Open the ordinary participant link in a second browser or device. No participant account is required, and you do not need to use the QR code.&lt;/li&gt;
&lt;li&gt;Change the current message three times from the organizer view.&lt;/li&gt;
&lt;li&gt;Refresh, briefly lock and unlock the participant device, or close and reopen the participant page.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Please do not use a real event name, personal information, confidential material, or sensitive chants.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I want to learn
&lt;/h2&gt;

&lt;p&gt;A useful result is not "looks good." I would value one concrete failure or hesitation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Where did either role need an explanation?&lt;/li&gt;
&lt;li&gt;Did an update arrive late, disappear, or recover badly?&lt;/li&gt;
&lt;li&gt;What is the biggest reason you would not trust this at a real event?&lt;/li&gt;
&lt;li&gt;What one change would make it more useful or accessible?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If browser, device, keyboard-only navigation, zoom, or assistive technology affected the result, please mention it. A short comment is enough.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I am asking here
&lt;/h2&gt;

&lt;p&gt;Earlier outreach asked organizations to recruit two people and evaluate an unfamiliar product. That produced conversation but no completed tests. This version removes most of that work: one person, two browser windows, harmless sample data, and a focused failure-finding task.&lt;/p&gt;

&lt;p&gt;ChantLive is MIT-licensed. There is no paid plan, endorsement request, mailing-list requirement, or partnership pitch. I am looking for evidence about what breaks and what should be improved before anyone relies on it.&lt;/p&gt;

&lt;p&gt;Live app: &lt;a href="https://chantlive.online/" rel="noopener noreferrer"&gt;https://chantlive.online/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source and issue tracker: &lt;a href="https://github.com/barsham/ChantLive" rel="noopener noreferrer"&gt;https://github.com/barsham/ChantLive&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you try it, please leave one specific observation below or open a GitHub issue. I will report back on what changes as a result.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>testing</category>
      <category>webdev</category>
      <category>a11y</category>
    </item>
  </channel>
</rss>
