<?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: Himanshu Verkiya</title>
    <description>The latest articles on DEV Community by Himanshu Verkiya (@verkiya).</description>
    <link>https://dev.to/verkiya</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%2F241251%2Fb4ce3f03-feda-41bb-87c6-e85102261359.jpg</url>
      <title>DEV Community: Himanshu Verkiya</title>
      <link>https://dev.to/verkiya</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/verkiya"/>
    <language>en</language>
    <item>
      <title>Resona - AI Voice Generation</title>
      <dc:creator>Himanshu Verkiya</dc:creator>
      <pubDate>Sat, 03 Oct 2026 10:54:58 +0000</pubDate>
      <link>https://dev.to/verkiya/resona-ai-voice-generation-3fne</link>
      <guid>https://dev.to/verkiya/resona-ai-voice-generation-3fne</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I built &lt;strong&gt;Resona&lt;/strong&gt;, an AI voice generation and cloning platform for a friend who wanted to create &lt;strong&gt;manhwa and manga recap videos on YouTube&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Recording narration for every video was time-consuming, so I built Resona to make it easier to generate consistent voiceovers from scripts, create custom voices, and manage generated audio in one place.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://resonapro.vercel.app/" rel="noopener noreferrer"&gt;https://resonapro.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Brief Walkthrough:&lt;/strong&gt; &lt;a href="https://youtu.be/Bt2X_5rsFO0" rel="noopener noreferrer"&gt;https://youtu.be/Bt2X_5rsFO0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quick Demo:&lt;/strong&gt; &lt;a href="https://youtu.be/h0urRp9gXrU" rel="noopener noreferrer"&gt;https://youtu.be/h0urRp9gXrU&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/verkiya/Resona" rel="noopener noreferrer"&gt;https://github.com/verkiya/Resona&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;Resona is built around &lt;strong&gt;Chatterbox TTS&lt;/strong&gt;, an open-source text-to-speech model that I self-host on &lt;strong&gt;Modal&lt;/strong&gt; with a &lt;strong&gt;FastAPI&lt;/strong&gt; inference service.&lt;/p&gt;

&lt;p&gt;The platform uses &lt;strong&gt;Next.js, React, TypeScript, tRPC, Prisma, PostgreSQL, Clerk, AWS S3, Polar, Sentry, WaveSurfer.js, and RecordRTC&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It supports text-to-speech generation, custom voice cloning, private audio storage, organization workspaces, and usage-based billing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;Using open-source &lt;strong&gt;Chatterbox TTS&lt;/strong&gt; let me own the voice-generation layer instead of relying entirely on a closed API.&lt;/p&gt;

&lt;p&gt;I could self-host the model, control the inference infrastructure, and build the rest of the platform around it. It also keeps the model layer flexible, so it can be changed or improved independently from the application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Best Use of ElevenLabs
&lt;/h3&gt;

&lt;p&gt;I used &lt;strong&gt;ElevenLabs&lt;/strong&gt; to generate the narration for the Resona demo video.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
