<?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: Abhishek Taneja</title>
    <description>The latest articles on Forem by Abhishek Taneja (@abhishektaneja).</description>
    <link>https://forem.com/abhishektaneja</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%2F3355796%2F5dc6b156-ea08-4e96-80e8-21a58e16b47b.jpg</url>
      <title>Forem: Abhishek Taneja</title>
      <link>https://forem.com/abhishektaneja</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/abhishektaneja"/>
    <language>en</language>
    <item>
      <title>How’s My Day? — A Voice-First Mood Tracker Using AssemblyAI’s Speech Understanding &amp; Real-Time TTS</title>
      <dc:creator>Abhishek Taneja</dc:creator>
      <pubDate>Sun, 27 Jul 2025 15:53:08 +0000</pubDate>
      <link>https://forem.com/abhishektaneja/hows-my-day-a-voice-first-mood-tracker-using-assemblyais-speech-understanding-real-time-tts-c5i</link>
      <guid>https://forem.com/abhishektaneja/hows-my-day-a-voice-first-mood-tracker-using-assemblyais-speech-understanding-real-time-tts-c5i</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/assemblyai-2025-07-16"&gt;AssemblyAI Voice Agents Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Domain Expert Voice Agent&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How’s My Day?&lt;/strong&gt; is a one-shot voice check-in app that helps users feel heard — emotionally, not just functionally.&lt;/p&gt;

&lt;p&gt;In just one tap:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The user speaks how they’re feeling&lt;/li&gt;
&lt;li&gt;The app transcribes their voice in real-time using &lt;strong&gt;AssemblyAI Universal Streaming&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;It detects the &lt;strong&gt;emotional tone&lt;/strong&gt; of their voice using &lt;strong&gt;AssemblyAI’s Speech Understanding&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;It matches that emotion to a hand-curated emotional tip using &lt;strong&gt;Algolia MCP Server&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Finally, it reads the tip aloud using &lt;strong&gt;AssemblyAI’s Text-to-Speech&lt;/strong&gt; — or falls back to &lt;strong&gt;ElevenLabs&lt;/strong&gt; if needed&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;✨ The experience feels like being heard by someone who cares — not a chatbot.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧠 How I Used AssemblyAI
&lt;/h2&gt;

&lt;p&gt;We used &lt;strong&gt;AssemblyAI’s Universal-Streaming API&lt;/strong&gt; to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Capture and transcribe voice input with &amp;lt;300ms latency&lt;/li&gt;
&lt;li&gt;Show live transcript to the user while they speak&lt;/li&gt;
&lt;li&gt;Handle punctuation and natural pauses beautifully&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;AssemblyAI’s emotion detection is shockingly accurate — tone alone can reveal so much more than words&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Transcription feels like magic when done right — and AssemblyAI nailed it&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Using voice as input and output feels more natural than a chatbot for mental wellness apps&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;People want calm, 1-shot interactions — not 20-message bots&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Challenges
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Browser-based mic streaming + latency management was tricky&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Emotion ↔ tip mapping needed thoughtful writing&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Not all users want to hear their feelings read back — we added a toggle&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AssemblyAI TTS is clean, but fallback was needed for broader support&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/4w0usY0G3Jc"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  GitHub Repository
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/abhishektaneja09" rel="noopener noreferrer"&gt;
        abhishektaneja09
      &lt;/a&gt; / &lt;a href="https://github.com/abhishektaneja09/how-is-your-day" rel="noopener noreferrer"&gt;
        how-is-your-day
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;How's My Day? - AI-Powered Voice Mood Tracker&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A sophisticated, voice-powered mood tracking web application that listens to your feelings and provides supportive, human-like responses using cutting-edge AI technology.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;✨ Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🎤 Professional voice recording&lt;/strong&gt; - File-based audio capture with high quality&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🎯 AI-powered transcription&lt;/strong&gt; - AssemblyAI integration for accurate speech-to-text&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🧠 Enhanced mood detection&lt;/strong&gt; - Local algorithm with scoring and emotion mapping&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🤖 GPT-4o-mini responses&lt;/strong&gt; - Human-like, empathetic AI-generated support messages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔊 High-quality TTS&lt;/strong&gt; - OpenAI text-to-speech with natural voice synthesis&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;⌨️ Real-time typing animation&lt;/strong&gt; - Text appears character-by-character during speech&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🎨 Modern UI&lt;/strong&gt; - Clean, responsive design with smooth animations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🚀 Full-stack architecture&lt;/strong&gt; - Node.js backend with Express server&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🚀 Quick Setup Guide&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Prerequisites&lt;/h3&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Node.js&lt;/strong&gt; (v14 or higher) - &lt;a href="https://nodejs.org/" rel="nofollow noopener noreferrer"&gt;Download here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Git&lt;/strong&gt; (optional) - For cloning the repository&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modern web browser&lt;/strong&gt; - Chrome, Firefox, Safari, or Edge&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;1. Installation&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Clone or download the project&lt;/span&gt;
git clone &lt;span class="pl-k"&gt;&amp;lt;&lt;/span&gt;&lt;/pre&gt;…
&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/abhishektaneja09/how-is-your-day" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&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%2Fyzm3x530fk8cmxhfap32.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%2Fyzm3x530fk8cmxhfap32.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>assemblyaichallenge</category>
      <category>ai</category>
      <category>api</category>
    </item>
    <item>
      <title>How’s My Day? — A One-Shot Voice Check-In That Listens, Understands, and Responds</title>
      <dc:creator>Abhishek Taneja</dc:creator>
      <pubDate>Sun, 27 Jul 2025 15:47:03 +0000</pubDate>
      <link>https://forem.com/abhishektaneja/hows-my-day-a-one-shot-voice-check-in-that-listens-understands-and-responds-1kgo</link>
      <guid>https://forem.com/abhishektaneja/hows-my-day-a-one-shot-voice-check-in-that-listens-understands-and-responds-1kgo</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/algolia-2025-07-09"&gt;Algolia MCP Server Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;How’s My Day?&lt;/strong&gt; is a voice-first emotional wellness app that helps people reflect on their mood — all through a single spoken sentence.&lt;/p&gt;

&lt;p&gt;Users simply tap a mic button, speak freely, and the app:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Transcribes their voice in real time using AssemblyAI&lt;/li&gt;
&lt;li&gt;Detects the emotion behind their voice using Speech Understanding&lt;/li&gt;
&lt;li&gt;Searches Algolia MCP Server for a warm, human-written emotional tip&lt;/li&gt;
&lt;li&gt;Reads the tip back using AssemblyAI’s or ElevenLabs’ Text-to-Speech&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result is a &lt;strong&gt;calm, empathetic micro-interaction&lt;/strong&gt; that helps people feel heard — no chatbot, no complexity.&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;📺 &lt;strong&gt;Video Walkthrough&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
  &lt;iframe src="https://www.youtube.com/embed/4w0usY0G3Jc"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;📦 &lt;strong&gt;GitHub Repo&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
[🔗 &lt;a href="https://github.com/abhishektaneja09/how-is-your-day" rel="noopener noreferrer"&gt;https://github.com/abhishektaneja09/how-is-your-day&lt;/a&gt;]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  How I Utilized the Algolia MCP Server
&lt;/h2&gt;

&lt;p&gt;Algolia’s &lt;strong&gt;MCP Server&lt;/strong&gt; powers the backend of emotional intelligence in our app.&lt;/p&gt;

&lt;p&gt;Here's how we used it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We created a static &lt;code&gt;moods.json&lt;/code&gt; index with handcrafted emotional responses for moods like &lt;code&gt;anxious&lt;/code&gt;, &lt;code&gt;burnt out&lt;/code&gt;, &lt;code&gt;grateful&lt;/code&gt;, &lt;code&gt;lonely&lt;/code&gt;, etc.&lt;/li&gt;
&lt;li&gt;When the emotion is detected (via AssemblyAI), we query Algolia MCP with that mood keyword&lt;/li&gt;
&lt;li&gt;MCP returns a &lt;strong&gt;personalized, human-style tip&lt;/strong&gt;, emoji, and short comforting message&lt;/li&gt;
&lt;li&gt;This response is instantly delivered to the user, giving the illusion of true emotional understanding&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The fast response time of MCP and its simple API made it the perfect choice for a real-time emotional UX.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Voice-first interactions can feel personal, if designed with empathy&lt;/li&gt;
&lt;li&gt;AssemblyAI’s &lt;strong&gt;Speech Understanding&lt;/strong&gt; feature can infer emotional tone from voice — not just text&lt;/li&gt;
&lt;li&gt;Algolia MCP makes it easy to build “domain brains” — in our case, an &lt;strong&gt;emotional advice brain&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Text-to-Speech should be slow, warm, and natural — we used &lt;strong&gt;AssemblyAI&lt;/strong&gt;, and &lt;strong&gt;ElevenLabs&lt;/strong&gt; as a fallback&lt;/li&gt;
&lt;li&gt;People don’t want a chatbot to solve their feelings — they want to be &lt;em&gt;heard&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>algoliachallenge</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
