<?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: Alan</title>
    <description>The latest articles on DEV Community by Alan (@buildbyalan).</description>
    <link>https://dev.to/buildbyalan</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%2F1840763%2F20a0c162-73c7-492b-9ca8-a178ed1fcff4.jpg</url>
      <title>DEV Community: Alan</title>
      <link>https://dev.to/buildbyalan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/buildbyalan"/>
    <language>en</language>
    <item>
      <title>AudioNsight: Transform Audio Content into Structured Data with AI</title>
      <dc:creator>Alan</dc:creator>
      <pubDate>Mon, 25 Nov 2024 01:33:50 +0000</pubDate>
      <link>https://dev.to/buildbyalan/audionsight-transform-audio-content-into-structured-data-with-ai-2bnk</link>
      <guid>https://dev.to/buildbyalan/audionsight-transform-audio-content-into-structured-data-with-ai-2bnk</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/assemblyai"&gt;AssemblyAI Challenge &lt;/a&gt;: Sophisticated Speech-to-Text.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;AudioNsight is a modern web application that transforms audio content into structured, actionable data using AssemblyAI's powerful LeMUR API. The app allows users to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📤 Upload audio files or try sample audio content&lt;/li&gt;
&lt;li&gt;📝 Get detailed transcriptions powered by AssemblyAI&lt;/li&gt;
&lt;li&gt;🤖 Extract structured data using customizable templates&lt;/li&gt;
&lt;li&gt;📊 Export data in JSON or CSV formats for further analysis&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What makes AudioNsight unique is its template system - users can define custom templates to extract specific information from any audio content, making it incredibly versatile for various use cases like meeting summaries, podcast analysis, or customer feedback processing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;You can try AudioNsight here: [&lt;a href="https://audio-nsight-lu7r.vercel.app/" rel="noopener noreferrer"&gt;https://audio-nsight-lu7r.vercel.app/&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;Source code: [&lt;a href="https://github.com/buildbyalan/audio-nsight" rel="noopener noreferrer"&gt;https://github.com/buildbyalan/audio-nsight&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;Here's what the app looks like in action:&lt;/p&gt;

&lt;p&gt;[Screenshots of your app showing:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Dashboard&lt;/li&gt;
&lt;/ol&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%2Fjshtrk14awbfamusf9vs.png" 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%2Fjshtrk14awbfamusf9vs.png" alt="Screenshot of the dashboard listing all the recent transcriptions" width="800" height="663"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Custom Template&lt;/li&gt;
&lt;/ol&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%2Fy5fz885ovun619pnsq16.png" 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%2Fy5fz885ovun619pnsq16.png" alt="Screenshot of the Custom Template page" width="800" height="680"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create Custom Template&lt;/li&gt;
&lt;/ol&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%2Ftp1yh1os00ndhplfqur8.png" 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%2Ftp1yh1os00ndhplfqur8.png" alt="Screenshot of the Create Custom Template page" width="800" height="681"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Live processes&lt;/li&gt;
&lt;/ol&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%2F4qqvq9ludpq8h76jbk32.png" 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%2F4qqvq9ludpq8h76jbk32.png" alt="Screenshot of the Live processes page" width="800" height="679"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Transcription view&lt;/li&gt;
&lt;/ol&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%2Fq0tvsriaqhmqgo35yfwl.png" 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%2Fq0tvsriaqhmqgo35yfwl.png" alt="Screenshot of the Transcription view page" width="800" height="696"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Speakers&lt;/li&gt;
&lt;/ol&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%2Fyabc317e5sr4klv6069h.png" 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%2Fyabc317e5sr4klv6069h.png" alt="Screenshot of the Speakers page" width="800" height="687"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Structured data output&lt;/li&gt;
&lt;/ol&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%2F3jc4h9zt8viajjdptx98.png" 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%2F3jc4h9zt8viajjdptx98.png" alt="Screenshot of the Structured data output page" width="800" height="686"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Export options&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;p&gt;Building AudioNsight was an exciting journey of combining modern web technologies with AI capabilities. Here's how I implemented it:&lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Next.js 14 with App Router for the frontend&lt;/li&gt;
&lt;li&gt;TypeScript for type safety&lt;/li&gt;
&lt;li&gt;Zustand for state management&lt;/li&gt;
&lt;li&gt;Tailwind CSS for styling&lt;/li&gt;
&lt;li&gt;AssemblyAI's Transcription and LeMUR APIs&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  LeMUR Integration
&lt;/h3&gt;

&lt;p&gt;The core of AudioNsight revolves around AssemblyAI's LeMUR API. I implemented a template-based system where each template defines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What information to extract&lt;/li&gt;
&lt;li&gt;How to structure the output&lt;/li&gt;
&lt;li&gt;Custom prompts for LeMUR&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The app first transcribes the audio using AssemblyAI's transcription API, then passes the transcript through LeMUR with custom prompts generated from the template. This approach allows for flexible and reusable data extraction patterns.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Smart Upload System&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Drag-and-drop interface&lt;/li&gt;
&lt;li&gt;Sample audio files for quick testing&lt;/li&gt;
&lt;li&gt;Real-time upload progress&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Template System&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customizable data extraction templates&lt;/li&gt;
&lt;li&gt;Structured output formatting&lt;/li&gt;
&lt;li&gt;Reusable across different audio types&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Export Functionality&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JSON export for developers&lt;/li&gt;
&lt;li&gt;CSV export for business users&lt;/li&gt;
&lt;li&gt;Clean, structured data format&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Challenges and Solutions
&lt;/h3&gt;

&lt;p&gt;One of the main challenges was handling asynchronous operations between transcription and LeMUR analysis. I solved this by implementing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A robust state management system using Zustand&lt;/li&gt;
&lt;li&gt;Real-time status updates&lt;/li&gt;
&lt;li&gt;Error handling and retry mechanisms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The template system was another challenge - making it flexible enough to handle various use cases while maintaining a simple user interface. The solution was to create a structured template format that could be easily modified while generating appropriate LeMUR prompts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Additional Features
&lt;/h2&gt;

&lt;p&gt;AudioNsight implements several additional AssemblyAI features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Transcription API for accurate speech-to-text&lt;/li&gt;
&lt;li&gt;LeMUR API for intelligent data extraction&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The combination of these features creates a powerful tool for converting unstructured audio content into structured, actionable data.&lt;/p&gt;

&lt;p&gt;Looking forward for your feedbacks.&lt;br&gt;
Thank you.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>assemblyaichallenge</category>
      <category>ai</category>
      <category>api</category>
    </item>
    <item>
      <title>AudioNsight: Transform Audio Content into Structured Data with AI</title>
      <dc:creator>Alan</dc:creator>
      <pubDate>Mon, 25 Nov 2024 01:23:53 +0000</pubDate>
      <link>https://dev.to/buildbyalan/audionsight-transform-audio-content-into-structured-data-with-ai-2el8</link>
      <guid>https://dev.to/buildbyalan/audionsight-transform-audio-content-into-structured-data-with-ai-2el8</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/assemblyai"&gt;AssemblyAI Challenge&lt;/a&gt;: No More Monkey Business.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;AudioNsight is a modern web application that transforms audio content into structured, actionable data using AssemblyAI's powerful LeMUR API. The app allows users to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📤 Upload audio files or try sample audio content&lt;/li&gt;
&lt;li&gt;📝 Get detailed transcriptions powered by AssemblyAI&lt;/li&gt;
&lt;li&gt;🤖 Extract structured data using customizable templates&lt;/li&gt;
&lt;li&gt;📊 Export data in JSON or CSV formats for further analysis&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What makes AudioNsight unique is its template system - users can define custom templates to extract specific information from any audio content, making it incredibly versatile for various use cases like meeting summaries, podcast analysis, or customer feedback processing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;You can try AudioNsight here: [&lt;a href="https://audio-nsight-lu7r.vercel.app/" rel="noopener noreferrer"&gt;https://audio-nsight-lu7r.vercel.app/&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;Source code: [&lt;a href="https://github.com/buildbyalan/audio-nsight" rel="noopener noreferrer"&gt;https://github.com/buildbyalan/audio-nsight&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;Here's what the app looks like in action:&lt;/p&gt;

&lt;p&gt;[Screenshots of your app showing:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Dashboard&lt;/li&gt;
&lt;/ol&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%2Fjshtrk14awbfamusf9vs.png" 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%2Fjshtrk14awbfamusf9vs.png" alt="Screenshot of the dashboard listing all the recent transcriptions" width="800" height="663"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Custom Template&lt;/li&gt;
&lt;/ol&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%2Fy5fz885ovun619pnsq16.png" 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%2Fy5fz885ovun619pnsq16.png" alt="Screenshot of the Custom Template page" width="800" height="680"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create Custom Template&lt;/li&gt;
&lt;/ol&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%2Ftp1yh1os00ndhplfqur8.png" 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%2Ftp1yh1os00ndhplfqur8.png" alt="Screenshot of the Create Custom Template page" width="800" height="681"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Live processes&lt;/li&gt;
&lt;/ol&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%2F4qqvq9ludpq8h76jbk32.png" 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%2F4qqvq9ludpq8h76jbk32.png" alt="Screenshot of the Live processes page" width="800" height="679"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Transcription view&lt;/li&gt;
&lt;/ol&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%2Fq0tvsriaqhmqgo35yfwl.png" 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%2Fq0tvsriaqhmqgo35yfwl.png" alt="Screenshot of the Transcription view page" width="800" height="696"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Speakers&lt;/li&gt;
&lt;/ol&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%2Fyabc317e5sr4klv6069h.png" 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%2Fyabc317e5sr4klv6069h.png" alt="Screenshot of the Speakers page" width="800" height="687"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Structured data output&lt;/li&gt;
&lt;/ol&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%2F3jc4h9zt8viajjdptx98.png" 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%2F3jc4h9zt8viajjdptx98.png" alt="Screenshot of the Structured data output page" width="800" height="686"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Export options&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;p&gt;Building AudioNsight was an exciting journey of combining modern web technologies with AI capabilities. Here's how I implemented it:&lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Next.js 14 with App Router for the frontend&lt;/li&gt;
&lt;li&gt;TypeScript for type safety&lt;/li&gt;
&lt;li&gt;Zustand for state management&lt;/li&gt;
&lt;li&gt;Tailwind CSS for styling&lt;/li&gt;
&lt;li&gt;AssemblyAI's Transcription and LeMUR APIs&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  LeMUR Integration
&lt;/h3&gt;

&lt;p&gt;The core of AudioNsight revolves around AssemblyAI's LeMUR API. I implemented a template-based system where each template defines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What information to extract&lt;/li&gt;
&lt;li&gt;How to structure the output&lt;/li&gt;
&lt;li&gt;Custom prompts for LeMUR&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The app first transcribes the audio using AssemblyAI's transcription API, then passes the transcript through LeMUR with custom prompts generated from the template. This approach allows for flexible and reusable data extraction patterns.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Smart Upload System&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Drag-and-drop interface&lt;/li&gt;
&lt;li&gt;Sample audio files for quick testing&lt;/li&gt;
&lt;li&gt;Real-time upload progress&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Template System&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customizable data extraction templates&lt;/li&gt;
&lt;li&gt;Structured output formatting&lt;/li&gt;
&lt;li&gt;Reusable across different audio types&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Export Functionality&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JSON export for developers&lt;/li&gt;
&lt;li&gt;CSV export for business users&lt;/li&gt;
&lt;li&gt;Clean, structured data format&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Challenges and Solutions
&lt;/h3&gt;

&lt;p&gt;One of the main challenges was handling asynchronous operations between transcription and LeMUR analysis. I solved this by implementing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A robust state management system using Zustand&lt;/li&gt;
&lt;li&gt;Real-time status updates&lt;/li&gt;
&lt;li&gt;Error handling and retry mechanisms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The template system was another challenge - making it flexible enough to handle various use cases while maintaining a simple user interface. The solution was to create a structured template format that could be easily modified while generating appropriate LeMUR prompts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Additional Features
&lt;/h2&gt;

&lt;p&gt;AudioNsight implements several additional AssemblyAI features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Transcription API for accurate speech-to-text&lt;/li&gt;
&lt;li&gt;LeMUR API for intelligent data extraction&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The combination of these features creates a powerful tool for converting unstructured audio content into structured, actionable data.&lt;/p&gt;

&lt;p&gt;Looking forward for your feedbacks.&lt;br&gt;
Thank you.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>assemblyaichallenge</category>
      <category>ai</category>
      <category>api</category>
    </item>
  </channel>
</rss>
