<?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: Sobhit Sharma</title>
    <description>The latest articles on DEV Community by Sobhit Sharma (@sobhit_sharma_).</description>
    <link>https://dev.to/sobhit_sharma_</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%2F2633574%2Fd9f8c215-e4b4-4f0e-b321-d92337ad8dc0.png</url>
      <title>DEV Community: Sobhit Sharma</title>
      <link>https://dev.to/sobhit_sharma_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sobhit_sharma_"/>
    <language>en</language>
    <item>
      <title>I Used Playwright to Give an Air Traffic Control Simulator a Voice</title>
      <dc:creator>Sobhit Sharma</dc:creator>
      <pubDate>Mon, 26 Oct 2026 07:46:51 +0000</pubDate>
      <link>https://dev.to/sobhit_sharma_/i-used-playwright-to-give-an-air-traffic-control-simulator-a-voice-3h2k</link>
      <guid>https://dev.to/sobhit_sharma_/i-used-playwright-to-give-an-air-traffic-control-simulator-a-voice-3h2k</guid>
      <description>&lt;p&gt;What if Playwright could do more than test a website?&lt;/p&gt;

&lt;p&gt;I wanted to find out.&lt;/p&gt;

&lt;p&gt;I built ATC-ClearCast, a Python companion for ATC-SIM, a browser-based air traffic control simulator. It observes in-game browser events and turns them into spoken ATC-style communications, with live flight progress strips displayed in the terminal.&lt;/p&gt;

&lt;p&gt;The idea&lt;/p&gt;

&lt;p&gt;Instead of interacting with the browser only to validate UI elements, I used Playwright as a bridge between the browser and a separate Python application.&lt;/p&gt;

&lt;p&gt;The project brings together:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Playwright for browser instrumentation and event capture&lt;/li&gt;
&lt;li&gt;Python for processing simulator updates&lt;/li&gt;
&lt;li&gt;ATC phraseology logic for generating spoken-style communications&lt;/li&gt;
&lt;li&gt;Text-to-speech for audio output&lt;/li&gt;
&lt;li&gt;Terminal UI for displaying flight progress strips&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Why build this?&lt;/p&gt;

&lt;p&gt;Because sometimes the most interesting projects happen when you use familiar tools for something they weren't originally designed to do.&lt;/p&gt;

&lt;p&gt;As a QA engineer, I spend a lot of time thinking about browser automation, test reliability, and system behavior. This project was an opportunity to explore those same skills in a more playful way.&lt;/p&gt;

&lt;p&gt;Watch it in action&lt;/p&gt;

&lt;p&gt;YouTube demo: &lt;a href="https://youtu.be/mAKjQjPpEd4" rel="noopener noreferrer"&gt;https://youtu.be/mAKjQjPpEd4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source code: &lt;a href="https://github.com/guardianofquality/atc-clearcast" rel="noopener noreferrer"&gt;https://github.com/guardianofquality/atc-clearcast&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Longer technical write-up: &lt;a href="https://medium.com/@shobitsharma/beyond-testing-how-i-used-playwright-to-turn-a-silent-browser-game-into-an-icao-compliant-spoken-9e016cd26e00" rel="noopener noreferrer"&gt;https://medium.com/@shobitsharma/beyond-testing-how-i-used-playwright-to-turn-a-silent-browser-game-into-an-icao-compliant-spoken-9e016cd26e00&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a hobby project for simulation and experimentation, not a real-world air traffic control system.&lt;/p&gt;

&lt;p&gt;I'd love to hear about other unexpected things you've built with Playwright or browser automation.&lt;/p&gt;

</description>
      <category>playwright</category>
      <category>python</category>
      <category>browsertesting</category>
      <category>browser</category>
    </item>
  </channel>
</rss>
