<?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>Forem: Justin Bartlett</title>
    <description>The latest articles on Forem by Justin Bartlett (@justin_bartlett_d31a8f55a).</description>
    <link>https://forem.com/justin_bartlett_d31a8f55a</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2450163%2F65a4a3b1-0d43-4c81-a254-ece1081c33d3.jpeg</url>
      <title>Forem: Justin Bartlett</title>
      <link>https://forem.com/justin_bartlett_d31a8f55a</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/justin_bartlett_d31a8f55a"/>
    <language>en</language>
    <item>
      <title>Here We Go Again..</title>
      <dc:creator>Justin Bartlett</dc:creator>
      <pubDate>Thu, 07 Aug 2025 18:52:11 +0000</pubDate>
      <link>https://forem.com/justin_bartlett_d31a8f55a/here-we-go-again-3ld</link>
      <guid>https://forem.com/justin_bartlett_d31a8f55a/here-we-go-again-3ld</guid>
      <description>&lt;p&gt;Friends, I’m suffering. I’m correlatively getting headaches, heart palpitations, nausea, and tunnel vision in Alexandria, Virginia.&lt;/p&gt;

&lt;p&gt;I don’t want to point the finger, and I prefer to focus on the work instead of my story. However, feeling tortured is something one has an obligation to speak out about.&lt;/p&gt;

&lt;p&gt;It is my respectful request that if you care for me, to please help the cessation of the ongoing difficulty that is correlatively hurting me.&lt;/p&gt;

&lt;p&gt;I have conveyed that I am a disabled Navy Veteran. Yet since coming to Virginia I have had inexplicable pain where I had a hernia in the Navy.&lt;/p&gt;

&lt;p&gt;As embarrassing as it is, when I posted on multiple community sites, whatever it was stopped. I don't intend to create posts like this, simply work, however: My 40 year old body can only endure so much. &lt;/p&gt;

&lt;p&gt;Respectfully, thank you for your prayers and support, please consider helping and supporting my health.&lt;/p&gt;

&lt;p&gt;Humbly,&lt;/p&gt;

&lt;p&gt;Justin&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Hackathon Friends</title>
      <dc:creator>Justin Bartlett</dc:creator>
      <pubDate>Wed, 26 Mar 2025 16:00:51 +0000</pubDate>
      <link>https://forem.com/justin_bartlett_d31a8f55a/hackathon-friends-emc</link>
      <guid>https://forem.com/justin_bartlett_d31a8f55a/hackathon-friends-emc</guid>
      <description>&lt;p&gt;Greetings! &lt;/p&gt;

&lt;p&gt;I'm super interested in connecting with fellow devs to win Hackathons and write good code that makes things better! I love upskilling fellow devs, and I love learning from fellow devs even more! What's more, I love helping with Dev Tools and leveling up! Say, "Hey!" and I'll respond!&lt;/p&gt;

&lt;p&gt;I would love to put together the dream team of super devs. Let's gooooooooooo!&lt;/p&gt;

&lt;p&gt;Justin&lt;/p&gt;

</description>
      <category>community</category>
      <category>developers</category>
      <category>hackathon</category>
    </item>
    <item>
      <title>WebRTC Video Chat w/ Kendo UI</title>
      <dc:creator>Justin Bartlett</dc:creator>
      <pubDate>Mon, 24 Mar 2025 03:06:36 +0000</pubDate>
      <link>https://forem.com/justin_bartlett_d31a8f55a/dojo-chat-3d8m</link>
      <guid>https://forem.com/justin_bartlett_d31a8f55a/dojo-chat-3d8m</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/kendoreact"&gt;KendoReact Free Components Challenge&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Dojo is an accessible collaborative WebRTC video chat with Generative AI. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;To use it, share the url that's generated after visiting the demo link with the person you want to chat with&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwsrmzgqd79tfmz3ap77w.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwsrmzgqd79tfmz3ap77w.jpeg" alt="Image description" width="800" height="465"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Overview
&lt;/h2&gt;

&lt;p&gt;Dojo provides a seamless video chat experience with these features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Real-time video and audio communication&lt;/strong&gt; using WebRTC technology&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accessibility-focused design&lt;/strong&gt; with keyboard navigation and screen reader support&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI-powered transcription&lt;/strong&gt; to convert speech to text during conversations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integrated AI chat assistant&lt;/strong&gt; that can answer questions and provide information&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Text messaging&lt;/strong&gt; for when audio isn't practical&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sleek, Accessible UI&lt;/strong&gt; built with KendoReact components&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Demo
&lt;/h3&gt;

&lt;p&gt;You can chat via the demo here: &lt;a href="https://dojo-eight-beta.vercel.app/" rel="noopener noreferrer"&gt;https://dojo-eight-beta.vercel.app/&lt;/a&gt;&lt;br&gt;
Here is the code repository: &lt;a href="https://github.com/jabartlett/dojo" rel="noopener noreferrer"&gt;https://github.com/jabartlett/dojo&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Technical Implementation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  WebRTC Infrastructure
&lt;/h3&gt;

&lt;p&gt;The core of the application uses WebRTC for peer-to-peer communication. I implemented:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Socket.IO for signaling and connection establishment&lt;/li&gt;
&lt;li&gt;ICE candidate negotiation for NAT traversal&lt;/li&gt;
&lt;li&gt;Media stream handling for camera and microphone access&lt;/li&gt;
&lt;li&gt;Data channels for text messaging and filter synchronization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I deliberately picked WebRTC because it's technically challenging, even with LLMs and cool stuff. You have to know Regex and stuff.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI Integration
&lt;/h3&gt;

&lt;p&gt;I integrated two key AI features:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Speech-to-Text Transcription&lt;/strong&gt;: Using Hugging Face's Whisper model to convert spoken audio to text, making conversations more accessible and searchable. So visually disabled users can use LLMs too, and use LLMs in tandem with people who have eyesight.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AI Chat Assistant&lt;/strong&gt;: Implemented using Phi-4, allowing users to ask questions and get intelligent responses during their conversations. Phi-4 is not too shabby, pretty good, really.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So I don't get some massive HuggingFace inference bill, I limited the AI responses to one each, but please contact me if disabled and I'll gladly remove the rate limiting for you!&lt;/p&gt;

&lt;h3&gt;
  
  
  Accessibility Features
&lt;/h3&gt;

&lt;p&gt;Accessibility was a priority throughout development:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full keyboard navigation support&lt;/li&gt;
&lt;li&gt;ARIA attributes for screen reader compatibility&lt;/li&gt;
&lt;li&gt;Black and white for easy contrast and responsive design&lt;/li&gt;
&lt;li&gt;Transcription services for those with hearing impairments&lt;/li&gt;
&lt;li&gt;Text alternatives for all audio communication&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  KendoReact Experience
&lt;/h2&gt;

&lt;p&gt;The application leverages 10 free KendoReact components and they are shnazzy:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;KendoReact Buttons&lt;/strong&gt; for intuitive call controls and actions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;KendoReact Animation&lt;/strong&gt; for smooth transitions between states&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;KendoReact Conversational UI&lt;/strong&gt; for the chat interface&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;KendoReact Dialogs&lt;/strong&gt; for modal windows and notifications&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;KendoReact Dropdowns&lt;/strong&gt; for settings and filter selection&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;KendoReact Indicators&lt;/strong&gt; to show connection status and activity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;KendoReact Inputs&lt;/strong&gt; for text entry and form controls&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;KendoReact Notifications&lt;/strong&gt; for system messages and alerts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;KendoReact ProgressBars&lt;/strong&gt; for loading states and transcription progress&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;KendoReact Tooltip&lt;/strong&gt; for providing helpful context and instructions&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Big props to Telerik for putting together super accessible components! Remarkably well done!&lt;/p&gt;

&lt;h2&gt;
  
  
  AIm to Impress
&lt;/h2&gt;

&lt;p&gt;As I mentioned, this project (I didn't know what to call it, so it's called Dojo) integrates two powerful GenAI technologies to enhance communication:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Speech-to-Text AI&lt;/strong&gt;: I implemented Hugging Face's Whisper large-v3 model to provide real-time transcription of conversations. This not only makes the application more accessible but also creates a searchable record of discussions. The transcription service processes audio captured during calls and converts it to text with impressive accuracy, even handling different accents and background noise.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Conversational AI Assistant&lt;/strong&gt;: Using Microsoft's Phi-4 model through Hugging Face's API, I created an in-call AI assistant that users can interact with. This assistant can answer questions, provide information, and help with tasks during the conversation. The implementation includes context management to maintain conversation flow and rate limiting to manage API usage efficiently.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  I &amp;lt;3 Comments!
&lt;/h2&gt;

&lt;p&gt;Say hey and let's collab!&lt;/p&gt;

&lt;p&gt;My Dev.to username is justin_bartlett_d31a8f55a&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>kendoreactchallenge</category>
      <category>react</category>
      <category>webdev</category>
    </item>
    <item>
      <title>I'm new</title>
      <dc:creator>Justin Bartlett</dc:creator>
      <pubDate>Mon, 18 Nov 2024 15:16:46 +0000</pubDate>
      <link>https://forem.com/justin_bartlett_d31a8f55a/im-under-fire-g91</link>
      <guid>https://forem.com/justin_bartlett_d31a8f55a/im-under-fire-g91</guid>
      <description>&lt;p&gt;Hi, I'm new&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
