<?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: Suman Gorai</title>
    <description>The latest articles on DEV Community by Suman Gorai (@suman_gorai_a43358388bdbb).</description>
    <link>https://dev.to/suman_gorai_a43358388bdbb</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%2F3828475%2F2e7d1708-efa0-49c5-a3d9-cde19f83a491.png</url>
      <title>DEV Community: Suman Gorai</title>
      <link>https://dev.to/suman_gorai_a43358388bdbb</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/suman_gorai_a43358388bdbb"/>
    <language>en</language>
    <item>
      <title>I Built an AI-Powered Virtual Try-On Tool for Shopify — Here’s How It Works (Torziva)</title>
      <dc:creator>Suman Gorai</dc:creator>
      <pubDate>Tue, 24 Mar 2026 12:41:03 +0000</pubDate>
      <link>https://dev.to/suman_gorai_a43358388bdbb/i-built-an-ai-powered-virtual-try-on-tool-for-shopify-heres-how-it-works-torziva-436i</link>
      <guid>https://dev.to/suman_gorai_a43358388bdbb/i-built-an-ai-powered-virtual-try-on-tool-for-shopify-heres-how-it-works-torziva-436i</guid>
      <description>&lt;p&gt;Online shopping is broken in one major way — &lt;strong&gt;you can’t try before you buy&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Customers constantly ask:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Will this look good on me?”&lt;/li&gt;
&lt;li&gt;“Will it fit my body?”&lt;/li&gt;
&lt;li&gt;“Is this worth buying?”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This uncertainty leads to &lt;strong&gt;low conversions and high return rates&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;So I decided to build something to solve this.&lt;/p&gt;

&lt;p&gt;👉 Meet &lt;strong&gt;Torziva&lt;/strong&gt; — an AI-powered virtual try-on tool for Shopify.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 The Idea Behind Torziva
&lt;/h2&gt;

&lt;p&gt;The goal was simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Let users upload their photo and instantly try clothes virtually.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of imagining how a product might look, users can &lt;strong&gt;see it on themselves&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 How It Works (User Flow)
&lt;/h2&gt;

&lt;p&gt;Here’s the basic flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;User visits a Shopify product page
&lt;/li&gt;
&lt;li&gt;Clicks on “Try On”
&lt;/li&gt;
&lt;li&gt;Uploads their photo
&lt;/li&gt;
&lt;li&gt;AI processes the image
&lt;/li&gt;
&lt;li&gt;Output: realistic try-on preview
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This entire process takes just a few seconds.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚙️ Tech Stack &amp;amp; Architecture
&lt;/h2&gt;

&lt;p&gt;Building Torziva wasn’t easy. Here's a simplified version of the stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Embedded Shopify UI (App Extension)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Node.js / API-based system&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Processing:&lt;/strong&gt; Image-to-image transformation models&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Storage:&lt;/strong&gt; Cloud-based image handling&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integration:&lt;/strong&gt; Shopify App + API&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧩 The Core Challenge
&lt;/h2&gt;

&lt;p&gt;The hardest part wasn’t coding.&lt;/p&gt;

&lt;p&gt;It was:&lt;/p&gt;

&lt;h3&gt;
  
  
  👉 Making the output look realistic
&lt;/h3&gt;

&lt;p&gt;Problems I faced:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clothes not aligning with body&lt;/li&gt;
&lt;li&gt;Lighting mismatch&lt;/li&gt;
&lt;li&gt;Distorted outputs&lt;/li&gt;
&lt;li&gt;Slow processing time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Solving these required:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prompt tuning&lt;/li&gt;
&lt;li&gt;Image preprocessing&lt;/li&gt;
&lt;li&gt;Model selection &amp;amp; testing&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚡ Performance Optimization
&lt;/h2&gt;

&lt;p&gt;Speed matters.&lt;/p&gt;

&lt;p&gt;Users won’t wait 30 seconds just to try a t-shirt.&lt;/p&gt;

&lt;p&gt;So I optimized:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Image size before processing
&lt;/li&gt;
&lt;li&gt;API response time
&lt;/li&gt;
&lt;li&gt;Queue handling
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Goal: &lt;strong&gt;&amp;lt; 5 seconds result&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 Why This Matters for Shopify Stores
&lt;/h2&gt;

&lt;p&gt;Torziva helps store owners:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📈 Increase conversions
&lt;/li&gt;
&lt;li&gt;🔁 Reduce returns
&lt;/li&gt;
&lt;li&gt;😄 Improve user experience
&lt;/li&gt;
&lt;li&gt;🛍️ Boost engagement
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is especially powerful for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fashion brands
&lt;/li&gt;
&lt;li&gt;D2C stores
&lt;/li&gt;
&lt;li&gt;Custom clothing businesses
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔮 What’s Next
&lt;/h2&gt;

&lt;p&gt;I’m currently working on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multi-angle try-on
&lt;/li&gt;
&lt;li&gt;Video-based try-on
&lt;/li&gt;
&lt;li&gt;Better realism with advanced models
&lt;/li&gt;
&lt;li&gt;Mobile optimization
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🙌 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Building Torziva has been an incredible journey.&lt;/p&gt;

&lt;p&gt;From idea → prototype → working SaaS, I learned:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI is powerful, but not plug-and-play
&lt;/li&gt;
&lt;li&gt;UX matters more than tech
&lt;/li&gt;
&lt;li&gt;Speed is everything
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re building in AI + e-commerce, this space is just getting started.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔗 Try Torziva
&lt;/h2&gt;

&lt;p&gt;If you’re curious, you can check it out here:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://www.torziva.site/" rel="noopener noreferrer"&gt;https://www.torziva.site/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’d love your feedback 🙌&lt;/p&gt;




&lt;h2&gt;
  
  
  🏷️ Tags
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;#ai&lt;/code&gt; &lt;code&gt;#shopify&lt;/code&gt; &lt;code&gt;#saas&lt;/code&gt; &lt;code&gt;#webdev&lt;/code&gt; &lt;code&gt;#startup&lt;/code&gt; &lt;code&gt;#machinelearning&lt;/code&gt;&lt;/p&gt;

</description>
      <category>startup</category>
      <category>webdev</category>
      <category>ai</category>
      <category>javascript</category>
    </item>
    <item>
      <title>I Tried to Build a Startup Without a Team --- Here's What Happened</title>
      <dc:creator>Suman Gorai</dc:creator>
      <pubDate>Sat, 21 Mar 2026 04:25:59 +0000</pubDate>
      <link>https://dev.to/suman_gorai_a43358388bdbb/i-tried-to-build-a-startup-without-a-team-heres-what-happened-31mm</link>
      <guid>https://dev.to/suman_gorai_a43358388bdbb/i-tried-to-build-a-startup-without-a-team-heres-what-happened-31mm</guid>
      <description>&lt;h2&gt;
  
  
  🚀 Intro
&lt;/h2&gt;

&lt;p&gt;Everyone talks about building startups with a team.\&lt;br&gt;
But I wanted to try something different.&lt;/p&gt;

&lt;p&gt;What if I build everything alone --- product, backend, frontend,&lt;br&gt;
marketing... everything?&lt;/p&gt;

&lt;p&gt;This is the story of what actually happened.&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 The Idea
&lt;/h2&gt;

&lt;p&gt;I wanted to build a simple SaaS product that helps freelancers create&lt;br&gt;
invoices and get paid easily.&lt;/p&gt;

&lt;p&gt;No big funding.\&lt;br&gt;
No team.\&lt;br&gt;
Just me, my laptop, and a lot of ideas.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚙️ The Stack I Chose
&lt;/h2&gt;

&lt;p&gt;To keep costs low, I used:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Next.js (Frontend)&lt;/li&gt;
&lt;li&gt;  Supabase (Backend + Auth + DB)&lt;/li&gt;
&lt;li&gt;  Vercel (Deployment)&lt;/li&gt;
&lt;li&gt;  PayPal (Payments)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything was either free or very low cost.&lt;/p&gt;




&lt;h2&gt;
  
  
  😵 The Reality Hit Me
&lt;/h2&gt;

&lt;p&gt;Building alone sounds cool... until you actually do it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  I had to fix bugs and design UI&lt;/li&gt;
&lt;li&gt;  Handle backend logic and database issues&lt;/li&gt;
&lt;li&gt;  Think about marketing and user acquisition&lt;/li&gt;
&lt;li&gt;  Debug things at 2 AM with no one to help&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There were days I felt completely stuck.&lt;/p&gt;




&lt;h2&gt;
  
  
  📉 Biggest Mistakes I Made
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt; I started building without validating the idea\&lt;/li&gt;
&lt;li&gt; I ignored marketing until the product was "perfect"\&lt;/li&gt;
&lt;li&gt; I tried to do everything instead of focusing on what matters&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These mistakes slowed me down a lot.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔥 What Actually Worked
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  Keeping the product simple&lt;/li&gt;
&lt;li&gt;  Using free tools to reduce risk&lt;/li&gt;
&lt;li&gt;  Learning by building instead of overthinking&lt;/li&gt;
&lt;li&gt;  Sharing progress publicly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's what kept me going.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Building a startup alone is possible... but it's not easy.&lt;/p&gt;

&lt;p&gt;You'll feel stuck.\&lt;br&gt;
You'll doubt yourself.\&lt;br&gt;
But you'll also learn faster than ever.&lt;/p&gt;

&lt;p&gt;If you're thinking of building something solo --- just start.&lt;/p&gt;

&lt;p&gt;You'll figure things out along the way.&lt;/p&gt;




&lt;h2&gt;
  
  
  📢 CTA
&lt;/h2&gt;

&lt;p&gt;If you're building something solo, I'd love to hear your story.&lt;/p&gt;

&lt;p&gt;Drop it in the comments 👇&lt;/p&gt;

</description>
      <category>startup</category>
      <category>webdev</category>
      <category>nextjs</category>
      <category>indiehackers</category>
    </item>
    <item>
      <title>🚀 I Built an AI Virtual Try-On for eCommerce (To Fix a Huge Conversion Problem)</title>
      <dc:creator>Suman Gorai</dc:creator>
      <pubDate>Thu, 19 Mar 2026 03:34:12 +0000</pubDate>
      <link>https://dev.to/suman_gorai_a43358388bdbb/i-built-an-ai-virtual-try-on-for-ecommerce-to-fix-a-huge-conversion-problem-5efh</link>
      <guid>https://dev.to/suman_gorai_a43358388bdbb/i-built-an-ai-virtual-try-on-for-ecommerce-to-fix-a-huge-conversion-problem-5efh</guid>
      <description>&lt;p&gt;Hey devs 👋&lt;/p&gt;

&lt;p&gt;I’ve been working on something interesting lately — an &lt;strong&gt;AI-powered virtual try-on tool for eCommerce stores&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤔 The Problem
&lt;/h2&gt;

&lt;p&gt;One thing I kept noticing while exploring online stores:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Customers hesitate to buy because they &lt;strong&gt;can’t visualize how a product will look on them&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This leads to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;❌ Low conversion rates&lt;/li&gt;
&lt;li&gt;❌ High return rates&lt;/li&gt;
&lt;li&gt;❌ Poor user confidence&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And honestly… it makes sense.&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 The Idea
&lt;/h2&gt;

&lt;p&gt;So I thought:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What if users could &lt;strong&gt;instantly try products using AI&lt;/strong&gt;, directly from the product page?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No apps. No friction.&lt;/p&gt;

&lt;p&gt;Just click → try → decide.&lt;/p&gt;

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

&lt;p&gt;An &lt;strong&gt;AI virtual try-on system&lt;/strong&gt; that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lets users try products in real-time&lt;/li&gt;
&lt;li&gt;Works directly inside eCommerce stores&lt;/li&gt;
&lt;li&gt;Requires minimal integration&lt;/li&gt;
&lt;li&gt;Focuses on speed and simplicity&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ⚙️ How It Works (Simple Overview)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;User visits a product page&lt;/li&gt;
&lt;li&gt;Clicks "Try Now"&lt;/li&gt;
&lt;li&gt;AI processes the input&lt;/li&gt;
&lt;li&gt;Shows a realistic preview&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All within seconds.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 Who It’s For
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Shopify store owners&lt;/li&gt;
&lt;li&gt;D2C brands&lt;/li&gt;
&lt;li&gt;Fashion &amp;amp; accessory sellers&lt;/li&gt;
&lt;li&gt;Anyone struggling with conversions&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  📈 Goal
&lt;/h2&gt;

&lt;p&gt;The main goal is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Help store owners &lt;strong&gt;increase conversions and reduce returns&lt;/strong&gt; using AI.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  🔥 What I Need From You
&lt;/h2&gt;

&lt;p&gt;I’m still improving this, so I’d love feedback from the dev community 🙌&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What features would you add?&lt;/li&gt;
&lt;li&gt;Any ideas to make it more useful?&lt;/li&gt;
&lt;li&gt;What would you improve technically?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🌐 Try It Out
&lt;/h2&gt;

&lt;p&gt;If you’re curious, you can try it here:&lt;br&gt;
👉 &lt;a href="https://torziva.site" rel="noopener noreferrer"&gt;https://torziva.site&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Thanks for reading!&lt;br&gt;
Would love to hear your thoughts 🚀&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>startup</category>
      <category>saas</category>
    </item>
    <item>
      <title>How I Fixed a Silent 500 Error in My Supabase Edge Function</title>
      <dc:creator>Suman Gorai</dc:creator>
      <pubDate>Wed, 18 Mar 2026 03:15:24 +0000</pubDate>
      <link>https://dev.to/suman_gorai_a43358388bdbb/how-i-fixed-a-silent-500-error-in-my-supabase-edge-function-2p53</link>
      <guid>https://dev.to/suman_gorai_a43358388bdbb/how-i-fixed-a-silent-500-error-in-my-supabase-edge-function-2p53</guid>
      <description>&lt;h1&gt;
  
  
  How I Fixed a 500 Error That Was Silently Killing My SaaS
&lt;/h1&gt;

&lt;p&gt;I launched &lt;a href="https://torziva.site" rel="noopener noreferrer"&gt;Torziva&lt;/a&gt; — an AI virtual try-on &lt;br&gt;
tool for fashion stores — and users were getting 500 errors on &lt;br&gt;
every try-on attempt.&lt;/p&gt;

&lt;p&gt;The weird part? &lt;strong&gt;Supabase logs showed nothing.&lt;/strong&gt; Completely blank.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Symptom
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Browser console: &lt;code&gt;Failed to load resource: 500&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Supabase edge function logs: blank&lt;/li&gt;
&lt;li&gt;fal.ai dashboard: requests weren't even arriving&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Classic "where is the request dying?" mystery.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Investigation
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Step 1 — Checked Vercel env vars&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;My edge function was hosted on Supabase but the request &lt;br&gt;
originated from Vercel. Turned out &lt;code&gt;FAL_API_KEY&lt;/code&gt; was missing &lt;br&gt;
from Supabase secrets — it was only in Vercel.&lt;/p&gt;

&lt;p&gt;Added it to Supabase → still failing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2 — Checked the actual error&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Added more granular try/catch logging and finally saw it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Error: Processing timeout. Please try again.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 3 — Found the real culprit&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;My polling loop was set to 60 attempts × 2000ms = &lt;strong&gt;120 seconds&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Supabase edge functions have a &lt;strong&gt;default timeout of 60 seconds&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The function was dying before fal.ai even finished processing.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Fix
&lt;/h2&gt;

&lt;p&gt;Two changes in the edge function:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Before&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;maxAttempts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nl"&gt;num_inference_steps&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

&lt;span class="c1"&gt;// After  &lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;maxAttempts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;  &lt;span class="c1"&gt;// 25 × 1500ms = ~37 seconds&lt;/span&gt;
&lt;span class="nl"&gt;num_inference_steps&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// faster generation&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Also changed polling interval from &lt;code&gt;2000ms&lt;/code&gt; to &lt;code&gt;1500ms&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Total processing time dropped from ~90s to ~35s. &lt;br&gt;
Now well within Supabase's limit.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Lesson
&lt;/h2&gt;

&lt;p&gt;If your Supabase edge function logs are &lt;strong&gt;blank&lt;/strong&gt;, the function &lt;br&gt;
isn't crashing — it's &lt;strong&gt;timing out before it can log anything&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Always check:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Are your secrets in Supabase, not just Vercel?&lt;/li&gt;
&lt;li&gt;Is your total execution time under 60s?&lt;/li&gt;
&lt;li&gt;Are external API calls (fal.ai, OpenAI, etc.) taking longer 
than expected?&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Supabase Edge Functions (Deno)&lt;/li&gt;
&lt;li&gt;fal.ai IDM-VTON for try-on generation&lt;/li&gt;
&lt;li&gt;Next.js 14 + Vercel frontend&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;If you're building anything with fal.ai or Supabase edge &lt;br&gt;
functions, happy to answer questions in the comments.&lt;/p&gt;

&lt;p&gt;And if you run a fashion store — this is what powers &lt;br&gt;
&lt;a href="https://torziva.site" rel="noopener noreferrer"&gt;torziva.site&lt;/a&gt; 👕&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>react</category>
      <category>showdev</category>
    </item>
    <item>
      <title>How I built an AI virtual try-on button for fashion stores using fal.ai and Supabase</title>
      <dc:creator>Suman Gorai</dc:creator>
      <pubDate>Tue, 17 Mar 2026 03:53:06 +0000</pubDate>
      <link>https://dev.to/suman_gorai_a43358388bdbb/how-i-built-an-ai-virtual-try-on-button-for-fashion-stores-using-falai-and-supabase-1f6d</link>
      <guid>https://dev.to/suman_gorai_a43358388bdbb/how-i-built-an-ai-virtual-try-on-button-for-fashion-stores-using-falai-and-supabase-1f6d</guid>
      <description>&lt;h2&gt;
  
  
  The problem I was trying to solve
&lt;/h2&gt;

&lt;p&gt;Fashion ecommerce has a dirty secret — 30-40% of all purchases get &lt;br&gt;
returned. The #1 reason? "It didn't look right on me."&lt;/p&gt;

&lt;p&gt;Shoppers can't tell how a dress will fit their body from a flat &lt;br&gt;
product photo. So they buy, try, and return.&lt;/p&gt;

&lt;p&gt;I built Torziva to fix this.&lt;/p&gt;


&lt;h2&gt;
  
  
  What Torziva does
&lt;/h2&gt;

&lt;p&gt;Torziva adds a "Try On" button to any fashion store's product page. &lt;br&gt;
When a shopper clicks it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;They upload their photo&lt;/li&gt;
&lt;li&gt;AI places the exact garment on their body&lt;/li&gt;
&lt;li&gt;They see a realistic on-model photo — in under 30 seconds&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Real fabric texture. Real fit. Real colors. On their actual physique.&lt;/p&gt;


&lt;h2&gt;
  
  
  The tech stack
&lt;/h2&gt;

&lt;p&gt;Here's what I used to build it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;fal.ai&lt;/strong&gt; — for the AI image generation / virtual try-on model&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Supabase&lt;/strong&gt; — auth, database, storage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Next.js 14&lt;/strong&gt; — frontend + API routes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vercel&lt;/strong&gt; — deployment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The core flow is simple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User uploads photo → 
API sends to fal.ai with garment image → 
fal.ai returns generated image → 
Display result to user
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Why fal.ai?
&lt;/h2&gt;

&lt;p&gt;I evaluated a few image generation APIs. fal.ai won because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fast inference (~30 seconds for try-on)&lt;/li&gt;
&lt;li&gt;Pay per generation ($0.075/image)&lt;/li&gt;
&lt;li&gt;Good try-on model quality for fashion garments&lt;/li&gt;
&lt;li&gt;Simple API, easy to integrate&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Supabase setup
&lt;/h2&gt;

&lt;p&gt;I used Supabase for three things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Auth&lt;/strong&gt; — email + Google OAuth for store owners&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database&lt;/strong&gt; — storing generation history, store configs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Storage&lt;/strong&gt; — saving generated images&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Supabase MCP made the setup surprisingly fast. &lt;br&gt;
Connected directly from Cursor and scaffolded the schema in minutes.&lt;/p&gt;




&lt;h2&gt;
  
  
  Challenges I ran into
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Garment detection quality&lt;/strong&gt;&lt;br&gt;
The AI works best with flat lay photos on white backgrounds. &lt;br&gt;
Dark backgrounds or heavy shadows confuse the model. &lt;br&gt;
Had to add input validation and guidance for store owners.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Shopify integration&lt;/strong&gt;&lt;br&gt;
Getting the Try On button to appear correctly on Shopify product &lt;br&gt;
pages required careful theme injection. Shopify's script tag API &lt;br&gt;
made this manageable but took longer than expected.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Pricing&lt;/strong&gt;&lt;br&gt;
At $0.075/generation, pricing the product correctly was tricky. &lt;br&gt;
Had to account for Shopify's 15% fee on top. &lt;br&gt;
Ended up with a usage-based model that scales with store size.&lt;/p&gt;




&lt;h2&gt;
  
  
  Results so far
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Launched on Product Hunt on March 12&lt;/li&gt;
&lt;li&gt;Listed on Peerlist, BetaList&lt;/li&gt;
&lt;li&gt;First users onboarding now&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Still early days but the feedback from fashion store owners has &lt;br&gt;
been positive — especially the "no photoshoot needed" angle.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Full Shopify app (in review)&lt;/li&gt;
&lt;li&gt;Support for more garment types&lt;/li&gt;
&lt;li&gt;Bulk generation for store catalogs&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;If you're building anything in fashion tech or ecommerce AI, &lt;br&gt;
would love to connect. And if you run a fashion store — &lt;br&gt;
try it free at &lt;strong&gt;&lt;a href="https://torziva.site" rel="noopener noreferrer"&gt;torziva.site&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Happy to answer any questions about the tech stack in the comments 👇&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>startup</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
