<?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: Devs Daddy</title>
    <description>The latest articles on Forem by Devs Daddy (@devsdaddy).</description>
    <link>https://forem.com/devsdaddy</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%2F1403472%2F2bd65618-32b2-4139-a698-7a2e75574534.jpeg</url>
      <title>Forem: Devs Daddy</title>
      <link>https://forem.com/devsdaddy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/devsdaddy"/>
    <language>en</language>
    <item>
      <title>⚡Extremely Fast Way to Work with Binary Data - Flash Buffer for TypeScript</title>
      <dc:creator>Devs Daddy</dc:creator>
      <pubDate>Thu, 09 Apr 2026 13:06:39 +0000</pubDate>
      <link>https://forem.com/devsdaddy/extremely-fast-way-to-work-with-binary-data-flash-buffer-for-typescript-237p</link>
      <guid>https://forem.com/devsdaddy/extremely-fast-way-to-work-with-binary-data-flash-buffer-for-typescript-237p</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Speed ​​up binary I/O with zero-copy performance, automatic offset management, and a set of advanced tools.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Working with &lt;strong&gt;binary data in JavaScript and TypeScript&lt;/strong&gt; has always been a chore. Manually tracking offsets, worrying about endianness, and constantly copying memory—it's easy to get bogged down in boilerplate code. Existing libraries only address some of the issues, but they either tie to Node.js &lt;code&gt;Buffer&lt;/code&gt; or don't support modern features like &lt;code&gt;SharedArrayBuffer&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Today I'm excited to introduce &lt;a href="https://github.com/devsdaddy/flash-buffer/" rel="noopener noreferrer"&gt;Flash-Buffer&lt;/a&gt;: a lightning-fast binary data library that makes manipulating &lt;code&gt;ArrayBuffers&lt;/code&gt; as easy as working with JSON.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤔 Problem: Binary data is complex and slow
&lt;/h2&gt;

&lt;p&gt;Whether you're parsing a custom network protocol, reading media file headers, or serializing game state for transmission over &lt;strong&gt;WebSocket&lt;/strong&gt;, you'll encounter the same inconveniences:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Manual offset management&lt;/strong&gt;. Every read or write requires updating the &lt;code&gt;offset&lt;/code&gt; variable. This is a source of infinite per-unit errors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data copying&lt;/strong&gt;. Standard methods often create new buffers instead of working with existing ones. This &lt;strong&gt;kills performance&lt;/strong&gt; on large data sets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lack of convenient abstractions&lt;/strong&gt;. You want to write a string or a floating-point number, but you have to fiddle with &lt;code&gt;DataView&lt;/code&gt; and &lt;code&gt;TextEncoder&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Flash-Buffer&lt;/strong&gt; solves these problems by providing an intuitive API that remains incredibly fast.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Key Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Zero-Copy&lt;/strong&gt;. Reading data returns a &lt;code&gt;Uint8Array&lt;/code&gt;, which is a direct "view" of the memory location. No unnecessary copying just pure performance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart memory management&lt;/strong&gt;. Automatic buffer expansion on write (&lt;code&gt;exact&lt;/code&gt;, &lt;code&gt;powerOfTwo&lt;/code&gt;, &lt;code&gt;fixed&lt;/code&gt; strategies), built-in buffer pool to reduce GC load, native &lt;code&gt;resize()&lt;/code&gt; support for &lt;code&gt;ArrayBuffer&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-platform&lt;/strong&gt;. Works in browsers, Node.js, Deno, and Bun. Supports &lt;code&gt;SharedArrayBuffer&lt;/code&gt; for efficient data exchange between threads without copying.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Advanced data formats:&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;- &lt;strong&gt;VarInt&lt;/strong&gt; (LEB128) with ZigZag encoding-like &lt;strong&gt;Protobuf&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bitwise operations&lt;/strong&gt; (BitBuffer) for flags, compressed data, and cryptography.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;C-strings&lt;/strong&gt; (null-terminated).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stream adapters&lt;/strong&gt; for the Web Streams API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Schematic serialization&lt;/strong&gt;. Use TypeScript decorators (&lt;code&gt;@field&lt;/code&gt;) to describe the class structure, and the library will automatically serialize it to and from a binary buffer.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💻 Usage examples
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Basic reading and writing:&lt;/strong&gt;&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="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;FlashBuffer&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;flash-buffer&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// Create a buffer (auto-growing, little-endian by default)&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;buf&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;FlashBuffer&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;endianness&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;little&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// Write data&lt;/span&gt;
&lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;writeUint32&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mh"&gt;0xDEADBEEF&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;writeString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hello, Flash!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;utf-8&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// true = prefix length as uint32&lt;/span&gt;

&lt;span class="c1"&gt;// Reset the offset for reading&lt;/span&gt;
&lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;reset&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="c1"&gt;// Read data back&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;readUint32&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;strLength&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;readUint32&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;readString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;strLength&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// 'deadbeef'&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;str&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;               &lt;span class="c1"&gt;// 'Hello, Flash!'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Working with VarInt (Variable-Length Integers):&lt;/strong&gt;&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="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;FlashBuffer&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;flash-buffer&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;buf&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;FlashBuffer&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="c1"&gt;// Write a large number (less than 128) in one byte instead of four&lt;/span&gt;
&lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;writeVarUint&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;127&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Write a negative number efficiently using ZigZag encoding&lt;/span&gt;
&lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;writeVarInt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;reset&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;readVarUint&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt; &lt;span class="c1"&gt;// 127&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;readVarInt&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;  &lt;span class="c1"&gt;// -15&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;offset&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;        &lt;span class="c1"&gt;// 3 (1 byte for 127 + 2 bytes for -15)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Bit-level operations:&lt;/strong&gt;&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="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;FlashBuffer&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;flash-buffer&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;buf&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;FlashBuffer&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;bits&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;bit&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="c1"&gt;// Write a sequence of bits that may cross byte boundaries&lt;/span&gt;
&lt;span class="nx"&gt;bits&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;writeBits&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mb"&gt;0b11111&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;bits&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;writeBits&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mb"&gt;0b10101&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;bits&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;flush&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;// Important: flush to finalize the byte and align the offset&lt;/span&gt;

&lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;reset&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;readBits&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;bit&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;readBits&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;readBits&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// 0b11111 (31)&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;readBits&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;readBits&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// 0b10101 (21)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Serializing objects using decorators:&lt;/strong&gt;&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="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;FlashBufferSchema&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;field&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;flash-buffer&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="cm"&gt;/* Create serializable class (Player) */&lt;/span&gt;
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Player&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;field&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;uint32&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;field&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;field&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;float32&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;@&lt;/span&gt;&lt;span class="nd"&gt;field&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;float32&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="nx"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="cm"&gt;/* Create new Player */&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;player&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Player&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;player&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;player&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;John&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;player&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;x&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;100.5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;player&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;200.5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="cm"&gt;/* Serialize and Restore Object */&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;buf&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;FlashBufferSchema&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;serialize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;player&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;restored&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;FlashBufferSchema&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;deserialize&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;Player&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;buf&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;reset&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  📊 Comparison with similar libraries
&lt;/h2&gt;

&lt;p&gt;Several excellent libraries exist for binary data manipulation. &lt;strong&gt;Flash Buffer&lt;/strong&gt; was designed to combine their strengths and offer unique capabilities.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;flash-buffer&lt;/th&gt;
&lt;th&gt;smart-buffer&lt;/th&gt;
&lt;th&gt;
&lt;a class="mentioned-user" href="https://dev.to/hazae41"&gt;@hazae41&lt;/a&gt;/binary&lt;/th&gt;
&lt;th&gt;@jsonjoy.com/buffers&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Zero-Copy&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;**SharedArrayBuffer**&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Automatic Growth&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Streaming (Web Streams)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Bit-Level Operations&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;VarInt (LEB128)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;C-Strings&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Schema Serialization&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Buffer Pool&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Unique advantages of Flash Buffer:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Full support&lt;/strong&gt; for &lt;code&gt;SharedArrayBuffer&lt;/code&gt; the key to copy-free multithreading.&lt;/li&gt;
&lt;li&gt;Modern &lt;code&gt;DataView&lt;/code&gt;-style API intuitive and concise.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;wide range&lt;/strong&gt; of out-of-the-box tools: from VarInt to Serialization and streams.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📦 Installation and getting started
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Just install via NPM (zero-dependency library):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;flash-buffer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Or clone from GitHub:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/devsdaddy/flash-buffer/" rel="noopener noreferrer"&gt;https://github.com/devsdaddy/flash-buffer/&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💎 Conclusion
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/devsdaddy/flash-buffer/" rel="noopener noreferrer"&gt;Flash-Buffer&lt;/a&gt;&lt;/strong&gt; was created to free you from the pain of manually handling binary data. It combines the &lt;strong&gt;performance&lt;/strong&gt; of zero-copy, the convenience of high-level abstractions, and support for &lt;strong&gt;modern web standards&lt;/strong&gt;. If you write network protocols, parse files, or develop high-load services, try &lt;strong&gt;Flash-Buffer&lt;/strong&gt; and you'll be surprised at how simple binary code can be.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I welcome stars, issues, and pull requests on GitHub. Share your experiences or questions in the comments!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>algorithms</category>
      <category>development</category>
      <category>resources</category>
    </item>
    <item>
      <title>A Post-Quantum Hybrid Encryption for High-Load Systems in TypeScript</title>
      <dc:creator>Devs Daddy</dc:creator>
      <pubDate>Mon, 06 Apr 2026 19:59:04 +0000</pubDate>
      <link>https://forem.com/devsdaddy/a-post-quantum-hybrid-encryption-for-high-load-systems-in-typescript-1lp6</link>
      <guid>https://forem.com/devsdaddy/a-post-quantum-hybrid-encryption-for-high-load-systems-in-typescript-1lp6</guid>
      <description>&lt;h2&gt;
  
  
  What is this post about?
&lt;/h2&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%2Fbg86lju4ckq9pbxma1a5.jpg" 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%2Fbg86lju4ckq9pbxma1a5.jpg" alt="QuarkDash Crypto" width="800" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This paper presents &lt;strong&gt;QuarkDash Crypto&lt;/strong&gt; (a quantum resistant hybrid encryption algorithm), an &lt;strong&gt;open-source TypeScript library&lt;/strong&gt; implementing a hybrid encryption protocol resistant to quantum computer attacks. &lt;strong&gt;QuarkDash&lt;/strong&gt; combines post-quantum key exchange based on &lt;strong&gt;Ring-LWE&lt;/strong&gt;, a fast stream cipher (&lt;strong&gt;ChaCha20&lt;/strong&gt; or &lt;strong&gt;Gimli&lt;/strong&gt;), a quantum-resistant &lt;strong&gt;KDF&lt;/strong&gt;, and a &lt;strong&gt;SHAKE256-based MAC&lt;/strong&gt;, as well as built-in mechanisms for protecting against replay and timing attacks.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Benchmark results are presented demonstrating throughput of up to &lt;code&gt;2.8 GB/s&lt;/code&gt; and session setup time of approximately &lt;code&gt;10 ms&lt;/code&gt;, which outperforms classical asymmetric schemes (&lt;code&gt;RSA&lt;/code&gt;, &lt;code&gt;ECC&lt;/code&gt;) and is comparable to symmetric encryption (&lt;code&gt;AES&lt;/code&gt;), but with additional quantum resistance.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you're not interested in the implementation details, you can skip straight to the &lt;a href="https://github.com/DevsDaddy/quarkdash" rel="noopener noreferrer"&gt;TypeScript library&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Introduction
&lt;/h2&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%2Fwlvcs0rvbitr5byp8r7g.webp" 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%2Fwlvcs0rvbitr5byp8r7g.webp" alt="Quantum resistant encryption - QuarkDash" width="800" height="509"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the development of quantum computers, many widely used cryptographic algorithms (&lt;code&gt;RSA&lt;/code&gt;, &lt;code&gt;ECC&lt;/code&gt;, &lt;code&gt;DSA&lt;/code&gt;) are becoming vulnerable to &lt;strong&gt;Shor's&lt;/strong&gt; and &lt;strong&gt;Grover's&lt;/strong&gt; algorithms. In response, the cryptographic community is developing &lt;strong&gt;post-quantum cryptographic algorithms&lt;/strong&gt; (&lt;code&gt;PQC&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;However, implementing &lt;code&gt;PQC&lt;/code&gt; in real-world systems poses challenges: performance, key size, and compatibility. &lt;strong&gt;QuarkDash&lt;/strong&gt; addresses these issues by offering a &lt;strong&gt;hybrid approach&lt;/strong&gt;: post-quantum key encapsulation (using Ring-LWE) and high-performance symmetric encryption.&lt;/p&gt;

&lt;h2&gt;
  
  
  Selection of cryptographic primitives
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Post-quantum key exchange: Ring-LWE
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Ring-LWE (Ring Learning with Errors)&lt;/strong&gt; is one of the most studied candidates for the &lt;strong&gt;NIST PQC&lt;/strong&gt; finals. It is based on the difficulty of finding errors in a ring of integer polynomials. &lt;strong&gt;QuarkDash Crypto&lt;/strong&gt; uses the following parameters:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ring dimension &lt;code&gt;N = 256&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Modulus &lt;code&gt;Q = 7681&lt;/code&gt; (a prime number supporting fast NTT)&lt;/li&gt;
&lt;li&gt;Primitive root &lt;code&gt;ω = 7&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;These parameters provide &lt;strong&gt;128-bit post-quantum security&lt;/strong&gt; with compact keys (&lt;em&gt;public key ~2 KB&lt;/em&gt;, &lt;em&gt;private key ~1 KB&lt;/em&gt;). Polynomial multiplication is implemented using &lt;strong&gt;NTT (Number Theoretical Transform)&lt;/strong&gt; with complexity &lt;code&gt;O(N log N)&lt;/code&gt;, making key exchange very fast (&lt;strong&gt;~8 ms on modern processors&lt;/strong&gt;).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  2. Symmetric Encryption: ChaCha20 and Gimli
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;For data encryption&lt;/strong&gt; after a session is established, &lt;strong&gt;QuarkDash Crypto&lt;/strong&gt; offers two stream ciphers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;ChaCha20&lt;/strong&gt; is a standardized (RFC 7539) high-performance cipher resistant to timing attacks. It uses &lt;code&gt;20 rounds&lt;/code&gt;, a &lt;code&gt;256-bit key&lt;/code&gt;, and a &lt;code&gt;12-byte nonce&lt;/code&gt;. Its software implementation is faster than AES without hardware acceleration.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Gimli&lt;/strong&gt; is a lightweight cipher designed for embedded systems. It uses &lt;code&gt;24 rounds&lt;/code&gt;, a &lt;code&gt;384-bit state&lt;/code&gt;, and provides &lt;code&gt;256-bit security&lt;/code&gt;. Gimli is faster than ChaCha20 on 32-bit architectures and requires less code.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2F2c9pt7isppt7zcv7p5nu.webp" 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%2F2c9pt7isppt7zcv7p5nu.webp" alt="ChaCha20 in QuarkDash" width="800" height="638"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In my &lt;a href="https://github.com/DevsDaddy/quarkdash" rel="noopener noreferrer"&gt;TypeScript implementation&lt;/a&gt;, the choice of cipher is specified via configuration (&lt;code&gt;cipher: ChaCha20 | Gimli&lt;/code&gt;), which allows the library to be adapted to different platforms.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  3. Quantum-resistant KDF and MAC: SHAKE256
&lt;/h3&gt;

&lt;p&gt;For key &lt;strong&gt;derivation and authentication&lt;/strong&gt;, I use &lt;strong&gt;SHAKE256&lt;/strong&gt;, an extensible hash function based on the Keccak sponge that is resistant to quantum attacks. Since the Web Crypto API does not have built-in support for &lt;strong&gt;SHAKE256&lt;/strong&gt;, I emulate it by repeatedly calling SHA-256 in counter mode (which is sufficient for protocol purposes).&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.amazonaws.com%2Fuploads%2Farticles%2Fmsfp54jbmnlfyclvinq0.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%2Fmsfp54jbmnlfyclvinq0.png" alt="MAC - QuarkDash Crypto" width="604" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So, it turns out that:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;KDF (Key Derivation Function):&lt;/strong&gt; takes a &lt;code&gt;shared secret (32 bytes)&lt;/code&gt;, a &lt;code&gt;salt (32 bytes)&lt;/code&gt;, and a &lt;code&gt;token&lt;/code&gt;, returning &lt;code&gt;64 bytes&lt;/code&gt; of &lt;code&gt;key material&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MAC:&lt;/strong&gt; computed as &lt;strong&gt;SHAKE256(&lt;code&gt;macKey&lt;/code&gt; || &lt;code&gt;data&lt;/code&gt;, 32)&lt;/strong&gt;. Constant-time comparison is used.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Protection against replay attacks
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Each encrypted message&lt;/strong&gt; contains a &lt;code&gt;12-byte header&lt;/code&gt;: a &lt;code&gt;timestamp&lt;/code&gt; (&lt;code&gt;8 bytes&lt;/code&gt;, Unix time in milliseconds) and a &lt;code&gt;sequence number&lt;/code&gt; (&lt;code&gt;4 bytes&lt;/code&gt;). During decryption, the following is checked:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;timestamp&lt;/code&gt; deviation does not exceed the specified value (5 minutes by default).&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;sequence number&lt;/code&gt; has not been repeated (a sliding window of the last 1000 packets is stored).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This prevents replay attacks both within a session and over long periods of time.&lt;/p&gt;




&lt;h2&gt;
  
  
  QuarkDash's Algorithm (Step-by-Step)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Long-Term Key Generation (Ring-LWE)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Choose a &lt;strong&gt;random polynomial&lt;/strong&gt; a with coefficients from &lt;code&gt;Z_Q&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;small polynomials&lt;/strong&gt; &lt;code&gt;s&lt;/code&gt; (secret) and &lt;code&gt;e&lt;/code&gt; (error) with coefficients &lt;code&gt;{-1, 0, 1}&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Calculate &lt;code&gt;b = a ⊗ s + e&lt;/code&gt; (multiplication via NTT, addition coefficientwise).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Public key:&lt;/strong&gt; &lt;code&gt;(a, b)&lt;/code&gt;, private: &lt;code&gt;s&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  2. Session Establishment (KEM)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Initiator (for example, client):&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;- Receives &lt;strong&gt;Receiver's&lt;/strong&gt; public key &lt;code&gt;(a, b)&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;- Generates small &lt;code&gt;s'&lt;/code&gt;, &lt;code&gt;e'&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;- Computes &lt;code&gt;u = a ⊗ s' + e'&lt;/code&gt; (ciphertext).&lt;/li&gt;
&lt;li&gt;- Computes &lt;code&gt;w = b ⊗ s'&lt;/code&gt;, rounds the coefficients to bits → &lt;code&gt;sharedSecret&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;ul&gt;
&lt;li&gt;Sends &lt;code&gt;u&lt;/code&gt; to &lt;strong&gt;Receiver&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Receiver (for example, server):&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Using his secret &lt;code&gt;s&lt;/code&gt;, computes &lt;code&gt;w' = u ⊗ s&lt;/code&gt;, rounds → the same &lt;code&gt;sharedSecret&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Session Key Derivation (KDF)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;keyMaterial&lt;/code&gt; = &lt;strong&gt;SHAKE256(&lt;code&gt;salt&lt;/code&gt; || &lt;code&gt;sharedSecret&lt;/code&gt; || &lt;code&gt;"session-key"&lt;/code&gt;, 64)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;sessionKey&lt;/code&gt; = &lt;code&gt;keyMaterial[0:32]&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;macKey&lt;/code&gt; = &lt;code&gt;keyMaterial[32:64]&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Message encryption
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;For each message:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Generate &lt;code&gt;header = timestamp(8) || sequence(4)&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ciphertext = streamCipher.encrypt(plaintext)&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;mac = SHAKE256(macKey || header || ciphertext, 32)&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Send &lt;code&gt;header || ciphertext || mac&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  5. Decryption and verification
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Split into &lt;code&gt;header&lt;/code&gt;, &lt;code&gt;ciphertext&lt;/code&gt;, and &lt;code&gt;mac&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Check &lt;code&gt;mac&lt;/code&gt; (constant time).&lt;/li&gt;
&lt;li&gt;Check &lt;code&gt;timestamp&lt;/code&gt; (within the window).&lt;/li&gt;
&lt;li&gt;Check &lt;code&gt;sequence&lt;/code&gt; (not repeating).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;plaintext = streamCipher.decrypt(ciphertext)&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;What's it. This algorim provides very fast and secured encryption between two entities (for example, for realtime connection between client and server).&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Security
&lt;/h2&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%2Fxgfb6xopyn2je139uo41.webp" 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%2Fxgfb6xopyn2je139uo41.webp" alt="QuarkDash Crypto Security" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Post-quantum security
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ring-LWE&lt;/strong&gt; has no known quantum algorithms for efficiently solving it (unlike factorization or discrete logarithm).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SHAKE256&lt;/strong&gt; provides resistance to quantum attacks (unlike SHA-2, which can theoretically be weakened by &lt;code&gt;Grover's algorithm&lt;/code&gt;, but with less effect).&lt;/li&gt;
&lt;li&gt;The combination of &lt;strong&gt;Ring-LWE and SHAKE256&lt;/strong&gt; provides &lt;strong&gt;128-256-bit&lt;/strong&gt; security against both quantum and classical attacks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Protection against side-channel attacks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;All MAC comparisons are performed in constant time (&lt;code&gt;constantTimeEqual&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Keys are erased from memory (&lt;code&gt;secureZero&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;There are no branches on secret data in critical areas (&lt;code&gt;cipher&lt;/code&gt;, &lt;code&gt;KDF&lt;/code&gt;, &lt;code&gt;MAC&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Forward Secrecy
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Each session&lt;/strong&gt; uses ephemeral key exchange (via &lt;code&gt;KEM&lt;/code&gt;). Even if the server's long-term key is compromised, past sessions remain protected.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Replay Protection
&lt;/h3&gt;

&lt;p&gt;The built-in &lt;code&gt;timestamp&lt;/code&gt; and &lt;code&gt;sequence number&lt;/code&gt; prevent replay attacks within a specified time window.&lt;/p&gt;




&lt;h2&gt;
  
  
  Performance
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Below are the results of synthetic benchmarks in comparison with other popular algorithms.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Operation&lt;/th&gt;
&lt;th&gt;QuarkDash (ChaCha20)&lt;/th&gt;
&lt;th&gt;QuarkDash (Gimli)&lt;/th&gt;
&lt;th&gt;AES-256-GSM&lt;/th&gt;
&lt;th&gt;ECDH (P-256) + AES&lt;/th&gt;
&lt;th&gt;RSA-2048&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Key generation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;12.3ms&lt;/td&gt;
&lt;td&gt;12.1ms&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;1.2ms&lt;/td&gt;
&lt;td&gt;48ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Session&lt;/strong&gt; (KEM)&lt;/td&gt;
&lt;td&gt;8.7ms&lt;/td&gt;
&lt;td&gt;8.5ms&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;3.4ms&lt;/td&gt;
&lt;td&gt;42ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Encryption&lt;/strong&gt; (1KB)&lt;/td&gt;
&lt;td&gt;0.003ms&lt;/td&gt;
&lt;td&gt;0.0028ms&lt;/td&gt;
&lt;td&gt;0.005ms&lt;/td&gt;
&lt;td&gt;0.05ms&lt;/td&gt;
&lt;td&gt;0.8ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Decryption&lt;/strong&gt; (1KB)&lt;/td&gt;
&lt;td&gt;0.003ms&lt;/td&gt;
&lt;td&gt;0.0028ms&lt;/td&gt;
&lt;td&gt;0.005ms&lt;/td&gt;
&lt;td&gt;0.05ms&lt;/td&gt;
&lt;td&gt;0.1ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Encryption&lt;/strong&gt; (1MB)&lt;/td&gt;
&lt;td&gt;0.42ms&lt;/td&gt;
&lt;td&gt;0.38ms&lt;/td&gt;
&lt;td&gt;0.85ms&lt;/td&gt;
&lt;td&gt;21ms&lt;/td&gt;
&lt;td&gt;102ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Decryption&lt;/strong&gt; (1MB)&lt;/td&gt;
&lt;td&gt;0.42ms&lt;/td&gt;
&lt;td&gt;0.38ms&lt;/td&gt;
&lt;td&gt;0.85ms&lt;/td&gt;
&lt;td&gt;21ms&lt;/td&gt;
&lt;td&gt;1080ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Speed&lt;/strong&gt; (MB/s)&lt;/td&gt;
&lt;td&gt;2300&lt;/td&gt;
&lt;td&gt;2630&lt;/td&gt;
&lt;td&gt;1176&lt;/td&gt;
&lt;td&gt;48&lt;/td&gt;
&lt;td&gt;0.9&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Advantages of QuarkDash over other algorithms
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. AES (symmetric encryption) in comparison
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Quantum resistance&lt;/strong&gt; – AES is vulnerable to Grover's algorithm (brute-force attack speeds up by √N).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Built-in key exchange&lt;/strong&gt; – no pre-distribution of keys is required.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Forward secrecy&lt;/strong&gt; – compromising a long-term key does not reveal past sessions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Replay protection&lt;/strong&gt; – in AES, this must be implemented separately.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Faster when implemented in software&lt;/strong&gt; (QuarkDash is faster than AES without hardware acceleration).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. ECC (Asymmetric on Elliptic Curves) in comparison
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Quantum resistance&lt;/strong&gt; – Shor's algorithm breaks ECC in polynomial time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Better performance for large messages&lt;/strong&gt; – ECIES encrypts data using AES, but adds the overhead of ECDH.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smaller packet size&lt;/strong&gt; – 44 bytes versus 61 bytes for ECIES.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Easier to implement&lt;/strong&gt; – ​​no need to check points on the curve or protect against subgroup attacks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. RSA (asymmetric factorization) in comparison
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Quantum resistance&lt;/strong&gt; – RSA is broken by Shor's algorithm.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Huge performance gap&lt;/strong&gt; – RSA is 250+ times slower for encryption, 1000+ times slower for decryption.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smaller keys&lt;/strong&gt; – No, RSA has a 256-byte key, while QuarkDash has 2 KB (but 256 bits of security versus 112 bits for RSA-2048).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No padding issues&lt;/strong&gt; – RSA requires complex OAEP, which is susceptible to oracle attacks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Linear scaling&lt;/strong&gt; – QuarkDash has O(n) complexity, while RSA has O(n³).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Characteristic comparison
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Characteristic&lt;/th&gt;
&lt;th&gt;QuarkDash (ChaCha20)&lt;/th&gt;
&lt;th&gt;QuarkDash (Gimli)&lt;/th&gt;
&lt;th&gt;AES-256-GSM&lt;/th&gt;
&lt;th&gt;ECDH/P-256 + AES&lt;/th&gt;
&lt;th&gt;RSA-2048 + AES&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hybrid&lt;/td&gt;
&lt;td&gt;Hybrid&lt;/td&gt;
&lt;td&gt;Symmetric&lt;/td&gt;
&lt;td&gt;Asymmetric (KEX)&lt;/td&gt;
&lt;td&gt;Hybrid&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Quantum stability&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅ Ring-LWE&lt;/td&gt;
&lt;td&gt;✅ Ring-LWE&lt;/td&gt;
&lt;td&gt;❌ No&lt;/td&gt;
&lt;td&gt;❌ No&lt;/td&gt;
&lt;td&gt;❌ No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Encryption speed (1mb)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;~2.5 GB/s&lt;/td&gt;
&lt;td&gt;~2.8 GB/s&lt;/td&gt;
&lt;td&gt;~1.2 GB/s&lt;/td&gt;
&lt;td&gt;~50 MB/s (ECIES)&lt;/td&gt;
&lt;td&gt;~10 MB/s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Decryption speed (1mb)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;~2.5 GB/s&lt;/td&gt;
&lt;td&gt;~2.8 GB/s&lt;/td&gt;
&lt;td&gt;~1.2 GB/s&lt;/td&gt;
&lt;td&gt;~50 MB/s&lt;/td&gt;
&lt;td&gt;~1 MB/s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Session speed&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;~10-15 ms&lt;/td&gt;
&lt;td&gt;~10-15 ms&lt;/td&gt;
&lt;td&gt;0 ms (pre-shared)&lt;/td&gt;
&lt;td&gt;~5 ms&lt;/td&gt;
&lt;td&gt;~50 ms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Public key size&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;~2 KB&lt;/td&gt;
&lt;td&gt;~2 KB&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;33 bytes&lt;/td&gt;
&lt;td&gt;256 bytes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Private key size&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;~1 KB&lt;/td&gt;
&lt;td&gt;~1 KB&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;32 bytes&lt;/td&gt;
&lt;td&gt;256 bytes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Overhead size&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;44 bytes&lt;/td&gt;
&lt;td&gt;44 bytes&lt;/td&gt;
&lt;td&gt;28 bytes&lt;/td&gt;
&lt;td&gt;61 bytes&lt;/td&gt;
&lt;td&gt;256+ bytes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Forward secrecy&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;⚠️ optional&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Replay security&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Authentication&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅ MAC (SHAKE256)&lt;/td&gt;
&lt;td&gt;✅ MAC (SHAKE256)&lt;/td&gt;
&lt;td&gt;✅ (GSM)&lt;/td&gt;
&lt;td&gt;✅ (ECIES)&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Timing attacks security&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅ constant-time&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;⚠️ Partial&lt;/td&gt;
&lt;td&gt;⚠️ Partial&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;The Difficulty of Quantum Hacking&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;2^256&lt;/td&gt;
&lt;td&gt;2^256&lt;/td&gt;
&lt;td&gt;2^128 (Grover)&lt;/td&gt;
&lt;td&gt;0 (Shor)&lt;/td&gt;
&lt;td&gt;0 (Shor)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  QuarkDash Crypto installation and use cases for web apps
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Below I have provided an example of using the QuarkDash algorithm based on an &lt;a href="https://github.com/DevsDaddy/quarkdash" rel="noopener noreferrer"&gt;implementation I wrote in TypeScript&lt;/a&gt; that can be used in your web applications.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can use the &lt;strong&gt;QuarkDash library&lt;/strong&gt; as a regular library for both Backend and Frontend applications without any additional dependencies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installation using NPM:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;quarkdash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Or using GitHub:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/devsdaddy/quarkdash
&lt;span class="nb"&gt;cd&lt;/span&gt; ./quarkdash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Basic example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="cm"&gt;/* Import modules */&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;CipherType&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;QuarkDash&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;QuarkDashUtils&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;../src&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="cm"&gt;/* Alice - client, bob - server, for example for key-exchange */&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;alice&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;QuarkDash&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;cipher&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;CipherType&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Gimli&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;bob&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;QuarkDash&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;cipher&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;CipherType&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;Gimli&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="cm"&gt;/* Generate key pair */&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;alicePub&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;alice&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generateKeyPair&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;bobPub&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;bob&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generateKeyPair&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;span class="cm"&gt;/* Initialize session at bob and jpin alice public key */&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ciphertext&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;alice&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;initializeSession&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;bobPub&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nb"&gt;Uint8Array&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;bob&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;initializeSession&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;alicePub&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;bob&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;finalizeSession&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ciphertext&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="cm"&gt;/* Encrypt by alice and decrypt by bob */&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;plain&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;QuarkDashUtils&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;textToBytes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Hello QuarkDash 🔒!&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;enc&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;alice&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;encrypt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;plain&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;dec&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;bob&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;decrypt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;enc&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Decrypted:&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;QuarkDashUtils&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;bytesToText&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;dec&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;QuarkDash&lt;/strong&gt; is the first &lt;strong&gt;TypeScript library&lt;/strong&gt; that combines post-quantum key exchange &lt;strong&gt;(Ring-LWE)&lt;/strong&gt;, a fast stream cipher (based on ChaCha20/Gimli), and quantum-resistant &lt;strong&gt;KDF/MAC&lt;/strong&gt; (based on &lt;strong&gt;SHAKE256&lt;/strong&gt;) into a single &lt;strong&gt;hybrid protocol&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It is production-ready, features high performance (up to 2.8 GB/s), protection against side-channel and replay attacks, and provides a simple and extensible API.&lt;/p&gt;

&lt;p&gt;The library is available on &lt;a href="https://github.com/DevsDaddy/quarkdash/" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; and &lt;a href="https://www.npmjs.com/package/quarkdash" rel="noopener noreferrer"&gt;npm&lt;/a&gt;. The source code is open-sourced under the MIT license. I invite the community to test, review, and contribute improvements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thanks for reading!&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Useful Links:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://datatracker.ietf.org/doc/html/rfc7539" rel="noopener noreferrer"&gt;ChaCha Specification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gimli.cr.yp.to/" rel="noopener noreferrer"&gt;Gimli&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://people.csail.mit.edu/vinodv/6876-Fall2018/RingLWEclass.pdf" rel="noopener noreferrer"&gt;Ring-LWE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/DevsDaddy/quarkdash/wiki" rel="noopener noreferrer"&gt;QuarkDash Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>typescript</category>
      <category>security</category>
      <category>cryptography</category>
      <category>encryption</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Devs Daddy</dc:creator>
      <pubDate>Mon, 02 Feb 2026 17:44:41 +0000</pubDate>
      <link>https://forem.com/devsdaddy/-374f</link>
      <guid>https://forem.com/devsdaddy/-374f</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/neurosell" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&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%2Forganization%2Fprofile_image%2F10658%2F4a68ee38-a0dc-4b6e-ac60-d3b99492527d.jpg" alt="Neurosell" width="300" height="300"&gt;
      &lt;div class="ltag__link__user__pic"&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%2Fuser%2Fprofile_image%2F1403472%2F2bd65618-32b2-4139-a698-7a2e75574534.jpeg" alt="" width="460" height="460"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/neurosell/neurosell-became-the-organizer-and-sponsor-of-the-ai-pulse-2026-conference-in-perm-374h" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Neurosell became the organizer and sponsor of the AI Pulse 2026 conference in Perm&lt;/h2&gt;
      &lt;h3&gt;Devs Daddy for Neurosell ・ Feb 2&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#ai&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#conference&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#machinelearning&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#community&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>ai</category>
      <category>conference</category>
      <category>machinelearning</category>
      <category>community</category>
    </item>
    <item>
      <title>Neurosell became the organizer and sponsor of the AI Pulse 2026 conference in Perm</title>
      <dc:creator>Devs Daddy</dc:creator>
      <pubDate>Mon, 02 Feb 2026 17:44:25 +0000</pubDate>
      <link>https://forem.com/neurosell/neurosell-became-the-organizer-and-sponsor-of-the-ai-pulse-2026-conference-in-perm-374h</link>
      <guid>https://forem.com/neurosell/neurosell-became-the-organizer-and-sponsor-of-the-ai-pulse-2026-conference-in-perm-374h</guid>
      <description>&lt;p&gt;On January 30, the startup Neurosell became one of the organizers and sponsors of the first AI conference in 2026—AI Pulse in Perm. The conference brought together more than 200 participants from leading companies in Russia and the CIS, as well as hundreds of online participants. More than 25 presentations were given, and there was an extensive networking program, an expo zone, and much more.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conference guests
&lt;/h2&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%2Fl2zkb9pfkjjabx0jn9l5.jpg" 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%2Fl2zkb9pfkjjabx0jn9l5.jpg" alt="AI Pulse 2026 - Plati po Miru, Pavel Belov" width="800" height="533"&gt;&lt;/a&gt;&lt;br&gt;
The event was attended by representatives of more than 150 different companies, including TON Foundation, Ozon, Selectel, AllSee, AiDee, Neurosell, Timeweb Cloud, School 21, and other industry leaders.&lt;/p&gt;

&lt;p&gt;The conference opened with a heated discussion on the future of artificial intelligence, with experts from the Ministry of Digital Development of the Perm Region, the Federation Council, and companies such as Reactive, Spectr, Neurosell, neuromus, Wikibot, and Plati po Miru.&lt;/p&gt;

&lt;h2&gt;
  
  
  What else did the program include?
&lt;/h2&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%2F3v8no0bw68j6603e3kme.jpg" 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%2F3v8no0bw68j6603e3kme.jpg" alt="AI Pulse 2026 - Wikibot, Alex Skakovsky" width="800" height="533"&gt;&lt;/a&gt;&lt;br&gt;
The program also featured two sessions of presentations: one for businesses and one for developers, an exhibition of solutions from startups and companies, over 11 hours of networking, prize draws, and an official party for speakers and VIP guests.&lt;/p&gt;

&lt;h2&gt;
  
  
  What were the key points of the conference?
&lt;/h2&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%2Fj6in2hfjtprkbl1rlcsj.jpg" 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%2Fj6in2hfjtprkbl1rlcsj.jpg" alt="AI Pulse 2026" width="800" height="533"&gt;&lt;/a&gt;&lt;br&gt;
In addition to active networking and heated discussions about the upcoming challenges and prospects for artificial intelligence in 2026, more serious topics were increasingly raised at the conference, such as changes in fundamental AI technologies (replacing classic LLM), optimization of classic LLM models, increasing business automation, but at the same time more conscious use of AI in all aspects of life.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For more details, please see the recordings of the presentations, which will be available on the AI Pulse 2026 conference website in the coming days:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://aipls.ru/" rel="noopener noreferrer"&gt;https://aipls.ru/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The conference was organized by:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Morion Digital High-Tech Park;&lt;/li&gt;
&lt;li&gt;AI Hub Artificial Intelligence Community;&lt;/li&gt;
&lt;li&gt;Neurosell;&lt;/li&gt;
&lt;/ul&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%2Fh0jqazhc3eutl0x4h5r2.jpg" 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%2Fh0jqazhc3eutl0x4h5r2.jpg" alt="AI Pulse 2026" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The next conference is scheduled for August this year and will be even larger in scale.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>conference</category>
      <category>machinelearning</category>
      <category>community</category>
    </item>
    <item>
      <title>Neurosell won the award - best startup of the week with Virton AI product</title>
      <dc:creator>Devs Daddy</dc:creator>
      <pubDate>Mon, 26 May 2025 10:31:25 +0000</pubDate>
      <link>https://forem.com/neurosell/neurosell-won-the-award-best-startup-of-the-week-with-virton-ai-product-2dhc</link>
      <guid>https://forem.com/neurosell/neurosell-won-the-award-best-startup-of-the-week-with-virton-ai-product-2dhc</guid>
      <description>&lt;p&gt;Today, &lt;strong&gt;Neurosell&lt;/strong&gt; shared the win for Startup of the Week by &lt;strong&gt;Product Radar&lt;/strong&gt;. Let's find out how it happened and what results it yielded.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why did Neurosell enter the competition?
&lt;/h2&gt;

&lt;p&gt;The flagship product of startup &lt;strong&gt;Neurosell&lt;/strong&gt; is AI-powered virtual fitting rooms. The team has great expertise in development, including in AI organization. The &lt;strong&gt;Virton AI startup&lt;/strong&gt; is already working with pilot projects and testing many hypotheses, weekly algorithms. &lt;strong&gt;So why being an already growing startup - Virton AI was sent to the competition?&lt;/strong&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.amazonaws.com%2Fuploads%2Farticles%2Fk8vk2l3f3obqjw570yq2.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%2Fk8vk2l3f3obqjw570yq2.png" alt="Virton AI - Use cases" width="800" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First and foremost&lt;/strong&gt; - the company enters contests to get expert feedback and community involvement. For Virton AI it is important to get not only customer experience, but also support and feedback from industry experts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Alexander Khopyorsky&lt;/strong&gt; - Founder at &lt;strong&gt;Brat AI&lt;/strong&gt;, no code for AI Agent - became the project hunter. Including the exchange of experience with other industry representatives is an important point in the formation of the company's product strategy.&lt;/p&gt;




&lt;h3&gt;
  
  
  What did the Virton AI team get out of the competition?
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;First and foremost, our team gained experience with the community. It was important for us to get feedback both from other founders in related fields and to learn more about working with communities like Product Radar. Such experience helps us adjust our product strategy and internal processes. - Elijah Rastorugev, Neurosell &amp;amp; Virton AI CTO&lt;/p&gt;
&lt;/blockquote&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%2Foojs46nq9itejrcvzwbt.jpg" 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%2Foojs46nq9itejrcvzwbt.jpg" alt="Virton AI has 3000+ daily active users" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Naturally, this is just the beginning of the journey for Virton AI, but already, after just one month of an active public beta, the team has secured many key partners, including pilot projects with various brands.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To learn more about Virton AI, visit the product's website:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://virton.tech/en/" rel="noopener noreferrer"&gt;https://virton.tech/en/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>startup</category>
      <category>virton</category>
      <category>news</category>
    </item>
    <item>
      <title>Neurosell shared new Virton AI successes and new brand partnerships</title>
      <dc:creator>Devs Daddy</dc:creator>
      <pubDate>Thu, 22 May 2025 13:33:06 +0000</pubDate>
      <link>https://forem.com/devsdaddy/neurosell-shared-new-virton-ai-successes-and-new-brand-partnerships-3mbe</link>
      <guid>https://forem.com/devsdaddy/neurosell-shared-new-virton-ai-successes-and-new-brand-partnerships-3mbe</guid>
      <description>&lt;p&gt;In today's weekly digest, Neurosell shares new successes and partnerships with apparel brands, IT integrators, and other company news.&lt;/p&gt;

&lt;h2&gt;
  
  
  Integrations with new brands and examples of Virton working as a cross-platform solution
&lt;/h2&gt;

&lt;p&gt;One of the major &lt;strong&gt;Virton AI&lt;/strong&gt; collaboration announcements among fashion companies was the launch of a pilot with premium clothing brand &lt;strong&gt;&lt;a href="https://de-backers.com/" rel="noopener noreferrer"&gt;DeBacker's&lt;/a&gt;&lt;/strong&gt;. The brand integrated with a fitting room based on Shopify, which is the first such integration.&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.amazonaws.com%2Fuploads%2Farticles%2F46bqqbjotnn84yehzxcv.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%2F46bqqbjotnn84yehzxcv.png" alt="DeBacker's Integrated Virton AI in beta" width="800" height="569"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now the Neurosell team is actively working on other integration options, including Telegram and VK mini-apps. Examples of such integrations can be seen below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://vk.com/app53582865" rel="noopener noreferrer"&gt;DSM Icons Brand at VK Mini Apps&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://t.me/vrtn_bot/nash_los" rel="noopener noreferrer"&gt;NashLocь - Virtual fitting room in Telegram Mini Apps&lt;/a&gt;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These integrations with new sales channels for an apparel brand can be up and running in a single day, which is one of the benefits of going full-fledged with &lt;strong&gt;Virton AI&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Participating in the battle of startups on Product Radar
&lt;/h2&gt;

&lt;p&gt;Also this week, &lt;strong&gt;Neurosell&lt;/strong&gt; began competing in a battle for the title of Startup of the Week and Month on the &lt;strong&gt;Product Radar&lt;/strong&gt; platform with &lt;strong&gt;Virton AI&lt;/strong&gt;. The project hunter was &lt;strong&gt;Alexander Khopyorsky&lt;/strong&gt;, founder of &lt;strong&gt;Brat AI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You can vote for Virton AI on the Product Radar page:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://productradar.ru/product/virton/" rel="noopener noreferrer"&gt;https://productradar.ru/product/virton/&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  New records and Virton AI users
&lt;/h2&gt;

&lt;p&gt;Well, the latest news from Neurosell is that Virton AI's daily user traffic grew over 100% this week to over &lt;strong&gt;3,000 daily users&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The product is currently in training and in collaboration with brands to develop its algorithms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More details can be found on the Virton AI website:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://virton.tech/" rel="noopener noreferrer"&gt;https://virton.tech/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>startup</category>
      <category>news</category>
      <category>virton</category>
    </item>
    <item>
      <title>Neurosell announces new product - marketplace based on Virton AI fitting room, talks about updates and new partnerships</title>
      <dc:creator>Devs Daddy</dc:creator>
      <pubDate>Sun, 18 May 2025 16:30:43 +0000</pubDate>
      <link>https://forem.com/neurosell/neurosell-announces-new-product-marketplace-based-on-virton-ai-fitting-room-talks-about-updates-466k</link>
      <guid>https://forem.com/neurosell/neurosell-announces-new-product-marketplace-based-on-virton-ai-fitting-room-talks-about-updates-466k</guid>
      <description>&lt;p&gt;The other day, Neurosell, a startup developing Virton AI-based virtual fitting rooms, talked about Virton's upcoming updates, including the launch of a marketplace based on current services, as well as new pilot projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Virton AI-powered martkeplaces announced
&lt;/h2&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%2Fhiueses0f01w0b1vls3n.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%2Fhiueses0f01w0b1vls3n.png" alt="Virton AI" width="800" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Today Neurosell announced a new product - &lt;strong&gt;a marketplace based on Virton AI&lt;/strong&gt;. This functionality will work in parallel with the usual fitting rooms, but in addition to the usual fitting rooms, a marketplace based on applications for Google Play, Android, as well as VK Mini Apps and Telegram Mini Apps will be launched.&lt;/p&gt;

&lt;p&gt;Every store that connects a fitting room will immediately be placed in the marketplace, thus opening up a new audience for Virton. &lt;strong&gt;The marketplace is scheduled to launch in June 2025.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Virton AI analytical tools
&lt;/h2&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%2Fwxvqy34cye6hv3ybw2mo.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%2Fwxvqy34cye6hv3ybw2mo.png" alt="Virton AI" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Advanced analytics will be available to all &lt;strong&gt;Virton AI&lt;/strong&gt; users in the coming weeks. This will include an overview of popular products, a look at the number of generations, generation of picks based on product popularity, and an overview of the audience cross-section, including a breakdown by day.&lt;/p&gt;

&lt;p&gt;Already now, there is functionality to track UTM fitting room tags, which are generated automatically for each product.&lt;/p&gt;




&lt;h2&gt;
  
  
  New pilot projects and partners
&lt;/h2&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%2F6ba2mof0is0vd63xg2zs.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%2F6ba2mof0is0vd63xg2zs.png" alt="Virton AI" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neurosell&lt;/strong&gt; has also announced partnerships for &lt;strong&gt;Virton AI&lt;/strong&gt; virtual fitting room pilots with brands such as Nishtyak Bratok, Zanovo, Murka, NashLosь, DSM Icons, Knives and other apparel brands. This helps in training the neural network even faster and better. Pilot projects are planned for six months, during which time the &lt;strong&gt;generation quality is expected to improve by more than 90%&lt;/strong&gt;.&lt;/p&gt;




&lt;p&gt;More detailed information is always available on the &lt;strong&gt;official Virton AI website&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://virton.tech/" rel="noopener noreferrer"&gt;https://virton.tech/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>news</category>
      <category>virton</category>
    </item>
    <item>
      <title>Neurosell launched a major update to Virton AI and talk about future development plans</title>
      <dc:creator>Devs Daddy</dc:creator>
      <pubDate>Sat, 10 May 2025 16:17:24 +0000</pubDate>
      <link>https://forem.com/devsdaddy/neurosell-launched-a-major-update-to-virton-ai-and-talk-about-future-development-plans-50p9</link>
      <guid>https://forem.com/devsdaddy/neurosell-launched-a-major-update-to-virton-ai-and-talk-about-future-development-plans-50p9</guid>
      <description>&lt;p&gt;Hi everyone, we're here with &lt;a href="https://neurosell.top/" rel="noopener noreferrer"&gt;&lt;strong&gt;Neurosell&lt;/strong&gt;&lt;/a&gt;. Today we're going to talk about the past week's progress, including the launch of the new &lt;strong&gt;Virton AI&lt;/strong&gt; update, development plans for the near future and new partner destinations.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;This is gonna be interesting, let's go!&lt;/strong&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Virton AI's massive new update
&lt;/h2&gt;

&lt;p&gt;Today we launched a major new update to our artificial intelligence-based virtual fitting rooms - Virton AI. It includes new functionality for online store owners, updated algorithms for working with photos, widgets and internal tests of video fitting in motion. Below, we tell you about everything in order.&lt;/p&gt;

&lt;h3&gt;
  
  
  Online Store Dashboard
&lt;/h3&gt;

&lt;p&gt;Started a personal store management cabinet to implement a fitting room widget without programming knowledge. To do this, you only need to customize the widget appearance, fill in the products and connect the widget to the site.&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.amazonaws.com%2Fuploads%2Farticles%2Fg5nmnkpluenepos02dyr.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%2Fg5nmnkpluenepos02dyr.png" alt="Virton AI"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You don't need to fully customize products like in regular catalogs of online stores - you only need to customize the product photo, name and link for purchase, specifying categories.&lt;/p&gt;

&lt;p&gt;Appearance can be adjusted to your site - upload logos, adjust the color palette. Changed your site design? No problem - the widget automatically updates all settings when you save them in your control panel.&lt;/p&gt;

&lt;p&gt;![Virton AI](&lt;a href="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t9gfbsc2jv7lvg8vgjfb.png" rel="noopener noreferrer"&gt;https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t9gfbsc2jv7lvg8vgjfb.png&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Virton AI virtual fitting room algorithm update
&lt;/h3&gt;

&lt;p&gt;We've also updated our algorithms, making them even more accurate for trying on products. And the fitting widget itself has become clearer, more user-friendly and simpler.&lt;/p&gt;

&lt;p&gt;In addition, we have internally tested the &lt;strong&gt;online fitting room algorithm based on video in motion&lt;/strong&gt;. The result of the video sample from the internal tests can be seen in this video:&lt;/p&gt;

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

&lt;p&gt;The launch of new algorithms for fitting accessories, hats, shoes by photo is planned for June, but with video fitting - we plan to start in August. If you have your own online store, right now you can join us on preferential terms (the first months are free), and then be one of the first to receive priority updates.&lt;/p&gt;




&lt;h2&gt;
  
  
  Neurosell and Virton AI partnership areas
&lt;/h2&gt;

&lt;p&gt;Starting Monday, &lt;strong&gt;Neurosell&lt;/strong&gt; will begin working with partners like &lt;strong&gt;Shopify&lt;/strong&gt;, &lt;strong&gt;InSales&lt;/strong&gt; and other online store building platforms to make it quick and easy for anyone to build full product card integration into their website.&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.amazonaws.com%2Fuploads%2Farticles%2Futp3vxircqfzh4szrkjq.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%2Futp3vxircqfzh4szrkjq.png" alt="Virton AI"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In addition, we can already now individually connect the fitting room to your VK community or Telegram bot.&lt;/p&gt;




&lt;h2&gt;
  
  
  Pilot programs and new integrations
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Virton AI&lt;/strong&gt; is scheduled to roll out next week as pilot projects with 8+ apparel brands who will help train the algorithm at a discounted rate. For now, anyone can test our algorithms unlimitedly by installing the widget for free:&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.amazonaws.com%2Fuploads%2Farticles%2Fp2v6ldkw31bdpaoohhze.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%2Fp2v6ldkw31bdpaoohhze.png" alt="Virton AI Pricing"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As a final note, I'd like to extend a huge thank you for the support of all the apparel brands who are helping with the development of Virton AI, as well as the Neurosell team for their prompt work on the algorithm.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://virton.tech/en/" rel="noopener noreferrer"&gt;&lt;strong&gt;Try Virton AI for free&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;See you in a week!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>startup</category>
      <category>product</category>
      <category>news</category>
    </item>
    <item>
      <title>Neurosell announces $800K seed round of investment to refine and scale Virton AI - fitting rooms for online stores</title>
      <dc:creator>Devs Daddy</dc:creator>
      <pubDate>Tue, 29 Apr 2025 11:10:41 +0000</pubDate>
      <link>https://forem.com/neurosell/neurosell-announces-800k-seed-round-of-investment-to-refine-and-scale-virton-ai-fitting-rooms-2bb8</link>
      <guid>https://forem.com/neurosell/neurosell-announces-800k-seed-round-of-investment-to-refine-and-scale-virton-ai-fitting-rooms-2bb8</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.amazonaws.com%2Fuploads%2Farticles%2Fmlrubyx8dxfcrbr2ykrx.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%2Fmlrubyx8dxfcrbr2ykrx.png" alt="Virton AI - Seed investment request announce" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Today, the Neurosell team is announcing the launch of the next round of Seed investment of $800,000 to improve the product and scale it to market. To date, the company has already raised $60,000 Pre-Seed investment for initial hypothesis tests.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's the plan to do?
&lt;/h2&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%2Fycqapzjjwikzrvrk019q.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%2Fycqapzjjwikzrvrk019q.png" alt="Virton AI - Seed investment request announce" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In addition to expanding the development team and launching marketing campaigns, Neurosell plans to take the accuracy of the algorithms to the next level, providing a new quantum leap.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key product readiness criteria based on Seed round highlighted for Virton AI:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Increase in generation speed by more than 115% - to an acceptable 5-6 seconds;&lt;/li&gt;
&lt;li&gt;Improving generation quality and its average rating up to 90%;&lt;/li&gt;
&lt;li&gt;Provision of tariff plans for businesses;&lt;/li&gt;
&lt;li&gt;Expansion of generation options in new projections (back, side, etc.);&lt;/li&gt;
&lt;li&gt;Expansion of supported product categories (shoes, jewelry, hats, etc. will be added);&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is worth noting that Virton AI is part of Neurosell's ecosystem of products, which allows it to have big data to learn from e-commerce partners. Also, in the coming days, the company plans to launch a personal account for businesses, allowing them to create widgets and integrations for any online store in a few minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You can follow Virton AI news in the official resources:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://blog.nsell.tech/" rel="noopener noreferrer"&gt;Neurosell Blog&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.crunchbase.com/organization/neurosell" rel="noopener noreferrer"&gt;Crunchbase Page&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://t.me/neuroselltothemoon" rel="noopener noreferrer"&gt;Neurosell Telegram Channel&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://bsky.app/profile/neurosell.bsky.social" rel="noopener noreferrer"&gt;Bluesky Profile&lt;/a&gt;;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ecommerce</category>
      <category>ai</category>
      <category>investment</category>
      <category>fashion</category>
    </item>
    <item>
      <title>Neural Network training on the example of Virton's virtual fitting room</title>
      <dc:creator>Devs Daddy</dc:creator>
      <pubDate>Wed, 23 Apr 2025 10:35:33 +0000</pubDate>
      <link>https://forem.com/devsdaddy/neural-network-training-on-the-example-of-virtons-virtual-fitting-room-55j2</link>
      <guid>https://forem.com/devsdaddy/neural-network-training-on-the-example-of-virtons-virtual-fitting-room-55j2</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Hi everyone, we are here with the &lt;strong&gt;Neurosell team&lt;/strong&gt;. In today's article we would like to share our experience in training neural networks on the example of our product - &lt;a href="https://virton.tech/" rel="noopener noreferrer"&gt;Virton&lt;/a&gt; virtual fitting room. We will tell you about the complexities of the algorithm, user experience and training opportunities.&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.amazonaws.com%2Fuploads%2Farticles%2Fesn6a73847s58e4g656z.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%2Fesn6a73847s58e4g656z.png" alt="AI Training - Virton Examples" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First things first, let's review what our goals were:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Maximum preservation of context to get an accurate result of fitting in the image (for example, the user wants to match a T-shirt to his shorts in style;&lt;/li&gt;
&lt;li&gt;Accurate product image transfer with preserving poses, adding details of fabric folds, etc;&lt;/li&gt;
&lt;li&gt;Relative economy of algorithms;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What do we use for training and work?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;UNet-based generative and reference models;&lt;/li&gt;
&lt;li&gt;PyTorch under the hood, transformers and diffusers;&lt;/li&gt;
&lt;li&gt;SCHP for pose detection and correction;&lt;/li&gt;
&lt;li&gt;DensePose for body pixelization;&lt;/li&gt;
&lt;li&gt;NVidia Cuda-based servers;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now that we have a quick look at the goals and technologies, let's break down what we are doing to train the algorithms, looking at the main challenges and current results.&lt;/p&gt;




&lt;h2&gt;
  
  
  Training algorithms, metrics in current format
&lt;/h2&gt;

&lt;p&gt;Initial training of the algorithms was performed on the large **DeepFashion **database, which offers many variations of different fashion items. Other sources for pose detection were also used. However, there is a disadvantage in using such databases - they do not provide real user experience and train models in ideal conditions.&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.amazonaws.com%2Fuploads%2Farticles%2F8upwax8xma9qqow2x75d.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%2F8upwax8xma9qqow2x75d.png" alt="Virton - Virtual AI fitting rooms" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to do in such a case? Run beta versions of the algorithms!&lt;/strong&gt;&lt;br&gt;
As a result, real users start trying on clothes, creating new generations and pre-training the algorithm. And in the case of pilot products on online stores, we can make the algorithm even better, getting new styles, different users with their own understanding of how the services work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So, what we have achieved in two weeks of training the algorithms:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;At launch and in the first week of operation - &lt;strong&gt;generation accuracy was in the neighborhood of 30%&lt;/strong&gt;;&lt;/li&gt;
&lt;li&gt;On the second week of work, some correction of UX and internal algorithms - &lt;strong&gt;the accuracy increased to 60%&lt;/strong&gt;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thus, by pre-training the algorithms on real users we bring the results to commercial values and this is only for 2 weeks of work.&lt;/p&gt;




&lt;h2&gt;
  
  
  What affects the accuracy of an algorithm?
&lt;/h2&gt;

&lt;p&gt;Under ideal conditions, of course, we get great results, but in the real world it doesn't work that way. We get different users who often take photos that are not quite right for the neural network to work. And all of this has to be taken into account.&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.amazonaws.com%2Fuploads%2Farticles%2Fvtr4cqbaz5r3dk680nmf.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%2Fvtr4cqbaz5r3dk680nmf.png" alt="Virton AI" width="800" height="577"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In our case, accuracy is affected by:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The quality of the original photos;&lt;/li&gt;
&lt;li&gt;Compliance with color rules (if the person in the photo starts to merge with the background, or if he or she has monochromatic clothes that are difficult to segment);&lt;/li&gt;
&lt;li&gt;Presence of other people in the frame;&lt;/li&gt;
&lt;li&gt;Using photos that are not full-length;&lt;/li&gt;
&lt;li&gt;Posing (crossed legs, arms, etc.);&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The more of these indicators are combined together, the lower the quality of generation becomes. What to do in this case:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;First work through the UX and explain to the user in clear language under what conditions they might have a bad result;&lt;/li&gt;
&lt;li&gt;Do-train models on segmentation in various non-ideal poses for the algorithm;&lt;/li&gt;
&lt;li&gt;Implement Multi-View Pose Transfer (for sideways photos and other body rotations;&lt;/li&gt;
&lt;li&gt;Implement body part intersection detection, e.g. using pose detection algorithms (there are good examples on Tensorflow) and alert the user to problems;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Generation examples - from successes to epic fails
&lt;/h2&gt;

&lt;p&gt;And as the final block of this article - we decided to share with you the results of generation, among which there are excellent, and there are quite funny and even strange.&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.amazonaws.com%2Fuploads%2Farticles%2Fe48nrefno91and83iib9.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%2Fe48nrefno91and83iib9.png" alt="Viron AI - Fitting Room Good Examples" width="800" height="445"&gt;&lt;/a&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.amazonaws.com%2Fuploads%2Farticles%2Fxeayoiq9bwqxd13g9npm.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%2Fxeayoiq9bwqxd13g9npm.png" alt="Viron AI - Fitting Room Good Examples" width="800" height="445"&gt;&lt;/a&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.amazonaws.com%2Fuploads%2Farticles%2Fd2xqvsv4wscckjrrtlgi.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%2Fd2xqvsv4wscckjrrtlgi.png" alt="Viron AI - Fitting Room Good Examples" width="800" height="445"&gt;&lt;/a&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.amazonaws.com%2Fuploads%2Farticles%2Fq6kjrkn5v1rymfwlbz82.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%2Fq6kjrkn5v1rymfwlbz82.png" alt="Fitting Room Bad Examples" width="800" height="445"&gt;&lt;/a&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.amazonaws.com%2Fuploads%2Farticles%2Fvwo24wf20qnebjver9nn.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%2Fvwo24wf20qnebjver9nn.png" alt="Fitting Room Bad Examples" width="800" height="445"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;What I would like to summarize in the end: any neural networks trained on ideal data and various open databases, as a rule, do not take into account the user factor, which definitely affects the result. Therefore, it is worthwhile to densely engage in pre-training of models on your real users, work with UX and look for new options to improve algorithms (for example, by introducing new additional tools).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And as always, discussions and your questions are welcome!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>case</category>
      <category>development</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Neurosell ecommerce ecosystem news digest for April</title>
      <dc:creator>Devs Daddy</dc:creator>
      <pubDate>Mon, 21 Apr 2025 13:33:54 +0000</pubDate>
      <link>https://forem.com/neurosell/neurosell-ecommerce-ecosystem-news-digest-for-april-ai7</link>
      <guid>https://forem.com/neurosell/neurosell-ecommerce-ecosystem-news-digest-for-april-ai7</guid>
      <description>&lt;p&gt;&lt;strong&gt;Hi everyone, Neurosell is here!&lt;/strong&gt; We have gathered for you a digest of news from the world of e-commerce ecosystem and prepared it in a convenient format. Today let's run through the updates in AI-apps, development of our products in the ecosystem and upcoming spring releases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So, let's get to the hottest updates!&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Virton AI virtual fitting rooms updates
&lt;/h2&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%2Fwf5xo0getmelnwoeevnl.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%2Fwf5xo0getmelnwoeevnl.png" alt="Virton AI updates - fitting rooms" width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just last week we launched the beta version of Virton - a virtual AI fitting room for online stores, and already this week we are rushing to tell you about the new update and development roadmap for the next month.&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.amazonaws.com%2Fuploads%2Farticles%2Friwrr17rak136srbn2kf.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%2Friwrr17rak136srbn2kf.png" alt="Virton AI updates - fitting rooms" width="800" height="565"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So what's new in Virton?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Redesigned the user interface of the demo app and widgets;&lt;/li&gt;
&lt;li&gt;Updated the algorithm and pre-trained it for more accurate generation of underwear;&lt;/li&gt;
&lt;li&gt;Accelerated generation at the same capacity by 15% - now the average generation speed on the demo bench is 60 seconds;&lt;/li&gt;
&lt;li&gt;Started working on pilot projects, launched a demo version of the app in VKontakte mini-apps;&lt;/li&gt;
&lt;li&gt;Worked out a development roadmap for May;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What to expect in May:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reduced generation time by increasing project capacity by 50-70%;&lt;/li&gt;
&lt;li&gt;Algorithm updates and support for different poses (back view, side view, support for redrawing complex poses);&lt;/li&gt;
&lt;li&gt;Widget builder for business (to be presented at the Ecom Expo 2025 conference in Moscow);&lt;/li&gt;
&lt;li&gt;Full-fledged marketplace applications for end users in beta version;&lt;/li&gt;
&lt;li&gt;Pilot project launches with clothing brands;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thus, we are trying to develop the product from new directions, setting ourselves the ambitious goal of the emergence of AI fitting rooms as industry standards.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://virton.tech/" rel="noopener noreferrer"&gt;Read more About Virton AI Fitting Rooms&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  A major release of NeuroCart, a cloud-based e-commerce ecosystem, is in the pipeline
&lt;/h2&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%2Fltsw3bd7wgrdexzvjoge.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%2Fltsw3bd7wgrdexzvjoge.png" alt="NeuroCart - Updates in May by Neurosell" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What New await in May?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We are preparing dozens of new integrations with popular payment acceptance services, CRM systems, ERP and delivery;&lt;/li&gt;
&lt;li&gt;Public release of content AI modules, smart product feeds, and integration with Virton's virtual AI fitting rooms;&lt;/li&gt;
&lt;li&gt;Updated customizations and basic store templates;&lt;/li&gt;
&lt;li&gt;Support for VK Max messenger and Parallelix library update;&lt;/li&gt;
&lt;li&gt;Going Open-Source and public documentation for developers;&lt;/li&gt;
&lt;li&gt;Start preparing a cloud-based control panel for extensions and store instances;&lt;/li&gt;
&lt;li&gt;New use cases with large ecommerce clients;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://ncommx.com/" rel="noopener noreferrer"&gt;Read more about NeuroCart Ecosystem&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  An Open-Source solution for Peer-to-Peer neural network training will be released in May
&lt;/h3&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%2F8ewf7l1nq97n0yn405fj.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%2F8ewf7l1nq97n0yn405fj.png" alt="AIPP - Peer to Peer AI Training by Neurosell" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We work a lot with artificial intelligence, and, in fact, we are already more of an AI company than a traditional IT business. It is very important for us to train algorithms not only on open databases, but also on real cases from users, while optimizing the training processes themselves.&lt;/p&gt;

&lt;p&gt;In May, we will provide a new open source and completely free tool for training neural network models on a Peer-to-Peer basis. What it means. Every user of your website/service/store will be able to contribute to the development of your AI services by sharing part of their power for model training.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it works?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The cloud server assigns the tasks of computing certain models to training;&lt;/li&gt;
&lt;li&gt;Computations are distributed among connected clients on the web (background work via services and webworkers is possible);&lt;/li&gt;
&lt;li&gt;After the computations, the data is sent back to your cloud server and augment the trained model with new data;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At our core, we are launching decentralized free libraries for developers to take some of the computation off the servers and offer their training to clients.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.nsell.tech/" rel="noopener noreferrer"&gt;Follow our projects and libraries on the official blog&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Other Neurosell news
&lt;/h3&gt;

&lt;p&gt;Finally, let's run briefly through the news that didn't make it into the full digest, but may also be of interest:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;**Virton **is officially &lt;a href="https://www.saashub.com/virton-tech-alternatives" rel="noopener noreferrer"&gt;verified in SaasHUB&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;We are looking &lt;a href="https://virton.tech/ru/ecommerce/" rel="noopener noreferrer"&gt;for pilot projects for AI fitting rooms&lt;/a&gt;;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And on that note, we will conclude our digest of the top news in the Neurosell ecosystem. Follow us on social media and share your experiences!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We are always open to new ideas and feedback.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ecommerce</category>
      <category>ai</category>
      <category>news</category>
    </item>
    <item>
      <title>Launched a public beta test of next-generation virtual fitting rooms based on artificial intelligence</title>
      <dc:creator>Devs Daddy</dc:creator>
      <pubDate>Sun, 13 Apr 2025 21:51:57 +0000</pubDate>
      <link>https://forem.com/devsdaddy/launched-a-public-beta-test-of-next-generation-virtual-fitting-rooms-based-on-artificial-1h7l</link>
      <guid>https://forem.com/devsdaddy/launched-a-public-beta-test-of-next-generation-virtual-fitting-rooms-based-on-artificial-1h7l</guid>
      <description>&lt;h2&gt;
  
  
  A little backstory
&lt;/h2&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%2Fvfqxc4dvvyolt3l1s85u.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%2Fvfqxc4dvvyolt3l1s85u.png" alt="AI Fitting Room" width="800" height="577"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For more than half a year now, we have been developing various e-commerce solutions. We want to create a full-fledged ecosystem using modern AI technologies, and the idea of introducing fitting rooms that can be available for any online store has been plaguing us for quite some time.&lt;/p&gt;

&lt;p&gt;We did quite extensive market research in this area to understand which technologies might be suitable for us. We considered VR and 3D, augmented reality and photo processing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So why did we settle on the latter option, processing photos with AI for fitting?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;A simpler and more accessible option for users&lt;/strong&gt; - just take a suitable photo once, then try on different things and select images.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compared to augmented reality&lt;/strong&gt; - the result is more interesting and accurate.&lt;/li&gt;
&lt;li&gt;We almost immediately stopped considering &lt;strong&gt;VR and 3D&lt;/strong&gt;, as this method is quite expensive to implement in online stores, and not so accurate for users, as the 3D model does not reflect how the buyer will look in clothes in reality.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And so, a few months ago we started active development, and today we are launching the first public beta test. Let's talk about how we created the product and how it can be useful in the future.&lt;/p&gt;




&lt;h2&gt;
  
  
  General concept
&lt;/h2&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%2Fismskd9q1qnq11k10d68.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%2Fismskd9q1qnq11k10d68.png" alt="AI Fitting Room Widget" width="800" height="315"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We all remember that nowadays there is a standard in online stores&lt;/strong&gt; - you can add items to Wish-list or to your shopping cart. But to try things on, you usually have to either go to the showroom or wait for delivery in order to at least understand whether the item fits your style.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What do we want to decide?&lt;/strong&gt;&lt;br&gt;
We want to make it easy to try on an item before you buy it. It's cool enough to see a real-life example of how a sweater will fit your look by uploading a photo and getting the result on the real thing. That's what we're doing with AI algorithms that accurately transfer the item to your photo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The interface should become as intuitive as simply adding an item to your cart&lt;/strong&gt; - you select the product, attach your photo and get the result.&lt;/p&gt;




&lt;h2&gt;
  
  
  How does it work?
&lt;/h2&gt;

&lt;p&gt;We won't go into the technical features of the product - we'll write a separate article for that in the future. Here we will simply describe the main features of the algorithm &lt;strong&gt;step by step&lt;/strong&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.amazonaws.com%2Fuploads%2Farticles%2Fmfqo64asxsmrufwsv1ct.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%2Fmfqo64asxsmrufwsv1ct.png" alt="AI Fitting Room - How it Works" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let's take a look at Virton's step-by-step algorithm:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The user chooses a photo of the product (or uploads his own);&lt;/li&gt;
&lt;li&gt;Uploads his own photo for fitting;&lt;/li&gt;
&lt;li&gt;Algorithm analyzes and segments the body parts in the photo;&lt;/li&gt;
&lt;li&gt;Based on the segmentation, a mask is created for further work of the generative AI;&lt;/li&gt;
&lt;li&gt;Using algorithms for working with images, the photo of the product is transferred to the mask;&lt;/li&gt;
&lt;li&gt;Further post-processing, smoothing and minimizing artifacts are performed;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;The user then receives the final result of the algorithm and can download it to his/her device / share it with friends, etc.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  How can Virton be used?
&lt;/h2&gt;

&lt;p&gt;At the moment, our product is at the stage of open testing. We are launching pilot projects with online stores and further training the algorithms to achieve the most accurate results.&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.amazonaws.com%2Fuploads%2Farticles%2Fvjtwpe0ilzdmn8p7ah6f.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%2Fvjtwpe0ilzdmn8p7ah6f.png" alt="Virton Website - Virtual Fitting Rooms powered by AI" width="800" height="335"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We plan for our product to accomplish the following tasks:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Increase the performance of online stores&lt;/strong&gt; by providing users with a completely new AI algorithm-based online fitting functionality. No waiting for delivery and no showroom visits - everything is done one photo at a time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reduced costs for photo studios and models to create product cards&lt;/strong&gt;, whether for their own store or for posting on marketplaces.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improved user experience&lt;/strong&gt;, combined with other AI tools in online shopping, creating a next-generation ecosystem (smart product feeds, image matching assistance, and more).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We hope that we will be able to achieve this through our experience with AI, as well as pilot projects with which we will jointly try to improve the quality of the algorithm.&lt;/p&gt;




&lt;h2&gt;
  
  
  Virton Roadmap
&lt;/h2&gt;

&lt;p&gt;As of today, we have a clear roadmap for product development for the coming year. We are confident that we can make fitting rooms an even better and more useful product that can be integrated into any store.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What we plan to do:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improve mask generation algorithm and accuracy of clothing transfer to the photo;&lt;/li&gt;
&lt;li&gt;Add support for other projections in the algorithm, not just frontal view;&lt;/li&gt;
&lt;li&gt;Run several pilot projects on large online stores;&lt;/li&gt;
&lt;li&gt;Optimize generation speed to 10-20 seconds, increase the number of servers for generation;&lt;/li&gt;
&lt;li&gt;Provide widgets for easy integration into any online store;&lt;/li&gt;
&lt;li&gt;Launch Virton client application with catalogs of pilot stores;&lt;/li&gt;
&lt;li&gt;Add search and image generation based on user preference, photo and online store catalog.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The plans are really big and ambitious, but we have come a long way in building the ecosystem and are confident that everything we do is doable, it's just a matter of time.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where can I try the product?
&lt;/h2&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%2F1j9mpdqxntlg8yvy4ulr.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%2F1j9mpdqxntlg8yvy4ulr.png" alt="Open Beta - AI-based virtual fitting room" width="800" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the moment - Virton is in open beta testing. &lt;strong&gt;You can try it absolutely free on our website:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://virton.tech/" rel="noopener noreferrer"&gt;https://virton.tech/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We have also attached a few variants of the fitting done on the current version of the algorithm:&lt;/strong&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.amazonaws.com%2Fuploads%2Farticles%2Fk80yjc74wng56gyt448e.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%2Fk80yjc74wng56gyt448e.png" alt="Virton - AI Based Fitting Room Examples" width="800" height="577"&gt;&lt;/a&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.amazonaws.com%2Fuploads%2Farticles%2F1azl7aoz3dyc1mwock2l.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%2F1azl7aoz3dyc1mwock2l.png" alt="Virton - AI Based Fitting Room Examples" width="800" height="577"&gt;&lt;/a&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.amazonaws.com%2Fuploads%2Farticles%2Faxmfszglgcwbo52am4zb.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%2Faxmfszglgcwbo52am4zb.png" alt="Virton - AI Based Fitting Room Examples" width="800" height="577"&gt;&lt;/a&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.amazonaws.com%2Fuploads%2Farticles%2Fxanio7uf61q4exrji0fy.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%2Fxanio7uf61q4exrji0fy.png" alt="Virton - AI Based Fitting Room Examples" width="800" height="577"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the time of beta testing, we are also happy to invite online store owners to run pilot projects and integrate &lt;strong&gt;Virton fitting room&lt;/strong&gt; on your website.&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.amazonaws.com%2Fuploads%2Farticles%2Fe78yzdmc5qfieb50zx0y.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%2Fe78yzdmc5qfieb50zx0y.png" alt="Virton for Ecommerce Websites" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Read more about Virton for online stores:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://virton.tech/ru/ecommerce/" rel="noopener noreferrer"&gt;https://virton.tech/ru/ecommerce/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>ecommerce</category>
      <category>development</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
