<?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: nickmed</title>
    <description>The latest articles on DEV Community by nickmed (@nickmed).</description>
    <link>https://dev.to/nickmed</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%2F815190%2F97517d7a-9138-4b11-a978-70dbf1371ef8.png</url>
      <title>DEV Community: nickmed</title>
      <link>https://dev.to/nickmed</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nickmed"/>
    <language>en</language>
    <item>
      <title>I Built an AI Voice-to-Database Assistant to Save My Friend 2 Hours a Day 🎙️</title>
      <dc:creator>nickmed</dc:creator>
      <pubDate>Fri, 02 Oct 2026 16:53:43 +0000</pubDate>
      <link>https://dev.to/nickmed/i-built-an-ai-voice-to-database-assistant-to-save-my-friend-2-hours-a-day-al8</link>
      <guid>https://dev.to/nickmed/i-built-an-ai-voice-to-database-assistant-to-save-my-friend-2-hours-a-day-al8</guid>
      <description>&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fshf761t04cjyqayl231c.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fshf761t04cjyqayl231c.jpeg" alt=" " width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Problem: My Friend's Nightly Struggle
&lt;/h3&gt;

&lt;p&gt;My friend Carlos is a field supervisor in the construction industry. He spends his entire day walking around sites, inspecting materials, and dealing with contractors. But his real nightmare began at 6:00 PM: he had to sit down for two hours to manually transcribe all his messy WhatsApp voice notes into his company's structured Google Sheets and PowerBI dashboards. &lt;/p&gt;

&lt;p&gt;He was exhausted, and his family missed him in the evenings. I knew I had to build something for him.&lt;/p&gt;

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

&lt;p&gt;I built a WhatsApp-based AI assistant that completely automates his data entry. Now, Carlos just sends a WhatsApp voice note like: &lt;em&gt;"Today we received 50 bags of cement from supplier X, but 3 were damaged. Total cost \$250."&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;The system automatically:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Receives the audio via Webhook.&lt;/li&gt;
&lt;li&gt;Downloads the &lt;code&gt;.ogg&lt;/code&gt; file using the WhatsApp Business API.&lt;/li&gt;
&lt;li&gt;Transcribes the audio using &lt;strong&gt;Whisper (Open-Source AI)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Extracts the exact entities (Material, Quantity, Status, Cost) using an LLM.&lt;/li&gt;
&lt;li&gt;Pushes the clean, structured JSON directly into his Google Sheets.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Demo &amp;amp; Architecture
&lt;/h3&gt;

&lt;p&gt;Here is a look under the hood using Make (formerly Integromat) to orchestrate the workflow:&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fat41f40zxuaxazmws62b.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fat41f40zxuaxazmws62b.jpeg" alt="https://transsion-platform01.oss-accelerate.aliyuncs.com/tranai-assets/bc080e58eb8c4cf58e331afe1d886689.jpeg?x-oss-process=image/resize,m_fixed,m_lfit,w_300" width="300" height="169"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(If you want to see the exact step-by-step technical guide on how I solved the tricky WhatsApp Media ID download, &lt;a href="https://dev.to/nickmed/how-to-turn-whatsapp-voice-notes-into-structured-data-google-sheets-using-whisper-chatgpt-7bi"&gt;check out my deep-dive technical post here&lt;/a&gt;.)&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Open Innovation Matters for This Project
&lt;/h3&gt;

&lt;p&gt;Open-source AI is the absolute core of this solution, specifically &lt;strong&gt;OpenAI's Whisper model&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;For Carlos, open innovation matters for two critical reasons:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Language &amp;amp; Slang:&lt;/strong&gt; Carlos speaks Spanish with heavy local construction slang. Proprietary, rigid voice-to-text models fail miserably at this. Whisper's open-source architecture allows for incredibly robust multilingual transcription that actually understands him.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Future Data Privacy:&lt;/strong&gt; Because Whisper is open-source, if Carlos's company ever demands strict data privacy (keeping audio files off third-party servers), we have the freedom to take this exact workflow and run Whisper locally on a private server or even a laptop on the construction site with no internet. Open innovation gives us the flexibility to scale without vendor lock-in.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I handed the bot over to Carlos yesterday. His response? &lt;em&gt;"You just gave me my evenings back."&lt;/em&gt; That's the power of building for a friend. 🚀&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
      <category>hacktoberfest</category>
    </item>
    <item>
      <title>How to turn WhatsApp Voice Notes into Structured Data (Google Sheets) using Whisper &amp; ChatGPT</title>
      <dc:creator>nickmed</dc:creator>
      <pubDate>Thu, 01 Oct 2026 17:45:59 +0000</pubDate>
      <link>https://dev.to/nickmed/how-to-turn-whatsapp-voice-notes-into-structured-data-google-sheets-using-whisper-chatgpt-7bi</link>
      <guid>https://dev.to/nickmed/how-to-turn-whatsapp-voice-notes-into-structured-data-google-sheets-using-whisper-chatgpt-7bi</guid>
      <description>&lt;p&gt;Hey everyone! 👋 &lt;/p&gt;

&lt;p&gt;I recently worked on a &lt;strong&gt;real-world problem&lt;/strong&gt;: field workers and operators hate typing long reports on their phones, but sending random voice notes creates a massive mess for the data analysis team. &lt;/p&gt;

&lt;p&gt;I designed a &lt;strong&gt;no-code/low-code architecture&lt;/strong&gt; to solve this. &lt;strong&gt;The goal?&lt;/strong&gt; Let users send a simple WhatsApp audio, and automatically transform that unstructured voice into a &lt;strong&gt;clean, structured JSON format&lt;/strong&gt; ready for Google Sheets or PowerBI.&lt;/p&gt;

&lt;p&gt;Here is the &lt;strong&gt;high-level architecture&lt;/strong&gt; of the workflow I built:&lt;/p&gt;




&lt;h3&gt;
  
  
  🛠️ How the workflow actually works:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;🟢 &lt;strong&gt;WhatsApp Cloud API Webhook:&lt;/strong&gt; It listens for incoming messages. If it's a text, a Router sends it straight to the LLM. If it's an audio file, it moves to the next step.&lt;/li&gt;
&lt;li&gt;⚠️ &lt;strong&gt;The Tricky Part (Media ID):&lt;/strong&gt; WhatsApp webhooks don't send the actual audio file, just a &lt;code&gt;Media ID&lt;/code&gt;. You need an &lt;strong&gt;HTTP module&lt;/strong&gt; to download the &lt;code&gt;.ogg&lt;/code&gt; file using the WhatsApp Business API.&lt;/li&gt;
&lt;li&gt;🎙️ &lt;strong&gt;OpenAI Whisper:&lt;/strong&gt; We pass the downloaded &lt;code&gt;.ogg&lt;/code&gt; file to Whisper to get a highly accurate text transcription.&lt;/li&gt;
&lt;li&gt;🧠 &lt;strong&gt;Chat Completion (JSON Extraction):&lt;/strong&gt; We send the transcribed text to ChatGPT with a &lt;strong&gt;strict system prompt&lt;/strong&gt; to extract specific entities (like quantities, product names, dates, or client IDs) and output them in a &lt;strong&gt;valid JSON format&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;📊 &lt;strong&gt;Parse JSON &amp;amp; Export:&lt;/strong&gt; Once parsed, the data is perfectly mapped to columns in Google Sheets or sent to a PowerBI dataset.&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  🚀 Why this matters?
&lt;/h3&gt;

&lt;p&gt;This completely &lt;strong&gt;removes the friction&lt;/strong&gt; of manual data entry. Operators just talk to WhatsApp, and the database updates in seconds with &lt;strong&gt;zero human typos&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;💡 &lt;em&gt;If you are building something similar and get stuck on the WhatsApp Media download step or the JSON parsing, let me know in the comments. I'd be happy to discuss the logic!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Have you implemented LLMs for structuring field data? How did you handle it?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🔗 &lt;em&gt;Let's connect on &lt;a href="https://www.linkedin.com/in/nickmed/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/nickmed/&lt;/a&gt; if you want to talk about process automation!&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw6w0ilqhljzpblhfbqmv.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw6w0ilqhljzpblhfbqmv.png" alt=" " width="799" height="382"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>automation</category>
      <category>openai</category>
      <category>whatsapp</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
