<?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: YuWang</title>
    <description>The latest articles on DEV Community by YuWang (@_8f9542d188ad9c7f347404).</description>
    <link>https://dev.to/_8f9542d188ad9c7f347404</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%2F4198634%2Fa10fc452-5f05-40e2-beee-6d4c8c60c82c.png</url>
      <title>DEV Community: YuWang</title>
      <link>https://dev.to/_8f9542d188ad9c7f347404</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/_8f9542d188ad9c7f347404"/>
    <language>en</language>
    <item>
      <title>Why I’m Building a Textile &amp; Apparel Platform in the Age of AI</title>
      <dc:creator>YuWang</dc:creator>
      <pubDate>Wed, 21 Oct 2026 15:01:15 +0000</pubDate>
      <link>https://dev.to/_8f9542d188ad9c7f347404/why-im-building-a-textile-apparel-platform-in-the-age-of-ai-5314</link>
      <guid>https://dev.to/_8f9542d188ad9c7f347404/why-im-building-a-textile-apparel-platform-in-the-age-of-ai-5314</guid>
      <description>&lt;p&gt;AI has made it much easier for a solo builder like me to turn an idea into a working website. The question I kept coming back to was: which problems do I understand well enough to build something useful?&lt;/p&gt;

&lt;p&gt;For me, the answer was textile and apparel sourcing.&lt;/p&gt;

&lt;p&gt;I’m building &lt;strong&gt;&lt;a href="https://keqiaoguide.com/" rel="noopener noreferrer"&gt;KeqiaoGuide&lt;/a&gt;&lt;/strong&gt;, a website combining practical sourcing guides, small calculation tools, and supplier site-visit services for apparel businesses.&lt;/p&gt;

&lt;p&gt;The interesting part has been translating industry knowledge into software: deciding what can be calculated, what needs verification, and where a tool should stop making assumptions.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The Problems Behind the Project
&lt;/h2&gt;

&lt;p&gt;For someone starting a clothing brand, buying fabric involves more decisions than choosing a color and negotiating a price.&lt;/p&gt;

&lt;p&gt;A supplier might quote by the kilogram while another quotes by the meter. A sample might look right but behave differently after washing. A factory’s showroom might tell you very little about how it manages production.&lt;/p&gt;

&lt;p&gt;Three problems shaped the project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Comparing quotations:&lt;/strong&gt; A price per kilogram cannot be compared directly with a price per meter. Fabric weight and width affect the conversion.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Understanding specifications:&lt;/strong&gt; Buyers need to distinguish GSM from grams per linear meter, full width from usable width, and a soft hand feel from suitable drape.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Checking suppliers remotely:&lt;/strong&gt; Photographs and sales conversations provide only part of the picture. Assessing production capabilities requires specific questions and supporting evidence.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are practical information problems with consequences for physical products.&lt;/p&gt;

&lt;p&gt;A website can help buyers understand the questions they need to ask, check calculations, and recognize when they need more evidence before placing an order.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Turning Industry Knowledge into Useful Features
&lt;/h2&gt;

&lt;p&gt;I organized the project around three complementary parts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Practical guides&lt;/strong&gt; explaining fabric properties, quality checks, costing, and supplier assessment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive tools&lt;/strong&gt; helping users estimate quantities and prepare sourcing decisions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;On-site services&lt;/strong&gt; for buyers who need someone to visit a supplier and document agreed details.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each part has different limits.&lt;/p&gt;

&lt;p&gt;An article can explain what to inspect, but it cannot verify a particular factory. A calculator can estimate fabric requirements, but it cannot inspect a cutting marker. A supplier visit can document what was observed, but it cannot guarantee the quality of every future shipment.&lt;/p&gt;

&lt;p&gt;Making those boundaries visible has become an important part of the product design.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. How AI Helped Me Build It
&lt;/h2&gt;

&lt;p&gt;I used AI coding tools to help build the site with &lt;strong&gt;Next.js, React, and custom CSS&lt;/strong&gt;, then deployed it as a static site on &lt;strong&gt;Cloudflare Pages&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The calculators run in the browser, so their calculations do not require a backend.&lt;/p&gt;

&lt;p&gt;AI helped with implementation, interface revisions, and polishing technical English for international readers. It also made it easier to move between a written explanation and a working interface.&lt;/p&gt;

&lt;p&gt;However, I still needed to define what each input meant, verify the calculations, and decide which assumptions users should see.&lt;/p&gt;

&lt;p&gt;In textile sourcing, a formula can be mathematically correct while its application is wrong. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does “width” include unusable selvages?&lt;/li&gt;
&lt;li&gt;Has shrinkage already been compensated for in the pattern?&lt;/li&gt;
&lt;li&gt;Does a consumption figure already include cutting losses?&lt;/li&gt;
&lt;li&gt;Does the entered panel area include every piece required for the garment?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those questions determine whether the result is useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Case Study: A Fabric Consumption Calculator
&lt;/h2&gt;

&lt;p&gt;One tool on the site is a &lt;strong&gt;&lt;a href="https://keqiaoguide.com/tools/fabric-consumption-calculator/" rel="noopener noreferrer"&gt;Fabric Consumption Calculator&lt;/a&gt;&lt;/strong&gt; for rough budgeting and quotation checks.&lt;/p&gt;

&lt;p&gt;It supports simple woven-garment shortcuts, knit estimates based on total pattern-piece area and GSM, and an option to enter an existing per-garment consumption figure.&lt;/p&gt;

&lt;p&gt;For the knit estimate, the starting calculation is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Net fabric weight per garment (kg)
= total pattern-piece area (m²) × GSM ÷ 1,000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example, a combined panel area of 1 m² at 240 GSM gives a starting weight of 0.24 kg.&lt;/p&gt;

&lt;p&gt;The more interesting implementation work involved defining the adjustments.&lt;/p&gt;

&lt;h3&gt;
  
  
  A 10% Allowance Is Different from a 10% Loss
&lt;/h3&gt;

&lt;p&gt;Suppose an order needs 100 meters before cutting losses.&lt;/p&gt;

&lt;p&gt;Adding a 10% allowance gives:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;100 × 1.10 = 110 meters
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But if 10% of the gross fabric issued will be lost, the calculation is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;100 ÷ 0.90 ≈ 111.11 meters
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Both calculations are valid. They answer different questions.&lt;/p&gt;

&lt;p&gt;The implementation therefore makes the distinction explicit:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;applyCuttingAllowance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;base&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;rate&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;basis&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;basis&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;loss&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;base&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;rate&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;base&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;rate&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here, &lt;code&gt;rate&lt;/code&gt; is a decimal, so 10% is entered as &lt;code&gt;0.10&lt;/code&gt;. The interface validates inputs and asks users which definition they mean.&lt;/p&gt;

&lt;h3&gt;
  
  
  Defaults Can Hide Assumptions
&lt;/h3&gt;

&lt;p&gt;All allowance inputs start at zero.&lt;/p&gt;

&lt;p&gt;That does not mean real production has no losses. It means the tool should not invent a suitable percentage for an order it knows nothing about.&lt;/p&gt;

&lt;p&gt;Users can enter measured shrinkage and additional allowances, with reminders to avoid counting adjustments already included in their starting figure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Width Shrinkage Cannot Always Be Solved by Buying More Length
&lt;/h3&gt;

&lt;p&gt;For area-based weight estimates, the tool can compensate for shrinkage in both directions.&lt;/p&gt;

&lt;p&gt;For linear-meter estimates, width shrinkage creates another question: will the pattern pieces still fit within the remaining usable width?&lt;/p&gt;

&lt;p&gt;Adding extra length cannot answer that question. The interface explicitly asks users to confirm the marker fits the post-shrink width.&lt;/p&gt;

&lt;h3&gt;
  
  
  Showing the Limits Is Part of the Feature
&lt;/h3&gt;

&lt;p&gt;The result includes a breakdown and the calculation basis.&lt;/p&gt;

&lt;p&gt;It also states that the tool does not generate a cutting marker, determine pattern fit, or calculate plaid matching automatically.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Final consumption still requires approved pattern data, the actual cutting marker, size ratios, and production conditions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That limitation matters because a precise-looking number can otherwise suggest more certainty than the inputs justify.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. What I’m Learning
&lt;/h2&gt;

&lt;p&gt;The main challenge has been deciding which parts of a sourcing decision can reasonably become software inputs.&lt;/p&gt;

&lt;p&gt;Some information fits neatly into a form: quantity, GSM, measured shrinkage, or quoted price. Other information requires inspection, judgment, or a conversation with the supplier.&lt;/p&gt;

&lt;p&gt;I’m also learning to separate different kinds of evidence in the articles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Published standards and official guidance&lt;/li&gt;
&lt;li&gt;Product or supplier specifications&lt;/li&gt;
&lt;li&gt;Practical sourcing observations&lt;/li&gt;
&lt;li&gt;Illustrative calculations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They serve different purposes, and readers should be able to tell them apart.&lt;/p&gt;

&lt;p&gt;The site is still early. My next priority is improving the existing tools and guides based on questions from apparel founders and sourcing buyers.&lt;/p&gt;

&lt;p&gt;AI has made building and revising the software more accessible to me. Industry knowledge helps me decide what the software should do—and when it should ask the user to verify something outside the browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you’re building software for a traditional industry, I’d be interested to hear about a domain rule that looked simple until you tried turning it into an interface.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Disclosure: I used AI assistance to edit and organize this article. The project examples and implementation details describe my own website.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>nextjs</category>
      <category>showdev</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
