<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ghassen Ben Hadj Lassoued</title>
    <description>The latest articles on DEV Community by Ghassen Ben Hadj Lassoued (@tapava).</description>
    <link>https://dev.to/tapava</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%2F3562091%2F5fe46084-1c9b-4a3f-9f0d-8d3052eb79d1.png</url>
      <title>DEV Community: Ghassen Ben Hadj Lassoued</title>
      <link>https://dev.to/tapava</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tapava"/>
    <language>en</language>
    <item>
      <title>heavy task ? useCompute</title>
      <dc:creator>Ghassen Ben Hadj Lassoued</dc:creator>
      <pubDate>Sun, 08 Feb 2026 12:31:28 +0000</pubDate>
      <link>https://dev.to/tapava/-26k1</link>
      <guid>https://dev.to/tapava/-26k1</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/tapava" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__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%2F3562091%2F5fe46084-1c9b-4a3f-9f0d-8d3052eb79d1.png" alt="tapava"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/tapava/computekit-a-react-toolkit-for-heavy-computations-without-freezing-the-ui-559a" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Computekit — Reusable heavy computations for JS &amp;amp; React&lt;/h2&gt;
      &lt;h3&gt;Ghassen Ben Hadj Lassoued ・ Dec 28 '25&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#react&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webassembly&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#performance&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#typescript&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>react</category>
      <category>webassembly</category>
      <category>performance</category>
      <category>typescript</category>
    </item>
    <item>
      <title>Heavy task ? useCompute</title>
      <dc:creator>Ghassen Ben Hadj Lassoued</dc:creator>
      <pubDate>Fri, 30 Jan 2026 15:00:03 +0000</pubDate>
      <link>https://dev.to/tapava/-4m08</link>
      <guid>https://dev.to/tapava/-4m08</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/tapava" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__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%2F3562091%2F5fe46084-1c9b-4a3f-9f0d-8d3052eb79d1.png" alt="tapava"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/tapava/computekit-a-react-toolkit-for-heavy-computations-without-freezing-the-ui-559a" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Computekit — Reusable heavy computations for JS &amp;amp; React&lt;/h2&gt;
      &lt;h3&gt;Ghassen Ben Hadj Lassoued ・ Dec 28 '25&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#react&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webassembly&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#performance&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#typescript&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>react</category>
      <category>webassembly</category>
      <category>performance</category>
      <category>typescript</category>
    </item>
    <item>
      <title>UPDATE: Added Typed Registry Support.

Benefits:

Autocomplete for registered function names
Type inference for input/output types
Compile-time errors for incorrect usage</title>
      <dc:creator>Ghassen Ben Hadj Lassoued</dc:creator>
      <pubDate>Fri, 30 Jan 2026 14:05:30 +0000</pubDate>
      <link>https://dev.to/tapava/update-added-typed-registry-support-benefits-autocomplete-for-registered-function-names-4ene</link>
      <guid>https://dev.to/tapava/update-added-typed-registry-support-benefits-autocomplete-for-registered-function-names-4ene</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/tapava" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__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%2F3562091%2F5fe46084-1c9b-4a3f-9f0d-8d3052eb79d1.png" alt="tapava"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/tapava/computekit-a-react-toolkit-for-heavy-computations-without-freezing-the-ui-559a" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Computekit — Reusable heavy computations for JS &amp;amp; React&lt;/h2&gt;
      &lt;h3&gt;Ghassen Ben Hadj Lassoued ・ Dec 28 '25&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#react&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webassembly&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#performance&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#typescript&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>react</category>
      <category>webassembly</category>
      <category>performance</category>
      <category>typescript</category>
    </item>
    <item>
      <title>Contributions are welcome!</title>
      <dc:creator>Ghassen Ben Hadj Lassoued</dc:creator>
      <pubDate>Mon, 29 Dec 2025 01:00:32 +0000</pubDate>
      <link>https://dev.to/tapava/contributions-are-welcome-581d</link>
      <guid>https://dev.to/tapava/contributions-are-welcome-581d</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/tapava" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__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%2F3562091%2F5fe46084-1c9b-4a3f-9f0d-8d3052eb79d1.png" alt="tapava"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/tapava/computekit-a-react-toolkit-for-heavy-computations-without-freezing-the-ui-559a" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Computekit — Reusable heavy computations for JS &amp;amp; React&lt;/h2&gt;
      &lt;h3&gt;Ghassen Ben Hadj Lassoued ・ Dec 28&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#react&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webassembly&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#performance&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#typescript&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>react</category>
      <category>webassembly</category>
      <category>performance</category>
      <category>typescript</category>
    </item>
    <item>
      <title>Contributions are welcome!
Small improvements, docs, tests, and ideas are all appreciated.</title>
      <dc:creator>Ghassen Ben Hadj Lassoued</dc:creator>
      <pubDate>Mon, 29 Dec 2025 00:53:30 +0000</pubDate>
      <link>https://dev.to/tapava/contributions-are-welcomesmall-improvements-docs-tests-and-ideas-are-all-appreciated-2fk0</link>
      <guid>https://dev.to/tapava/contributions-are-welcomesmall-improvements-docs-tests-and-ideas-are-all-appreciated-2fk0</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/tapava" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__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%2F3562091%2F5fe46084-1c9b-4a3f-9f0d-8d3052eb79d1.png" alt="tapava"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/tapava/computekit-a-react-toolkit-for-heavy-computations-without-freezing-the-ui-559a" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;ComputeKit: A React Toolkit for Heavy Computations Without Freezing the UI&lt;/h2&gt;
      &lt;h3&gt;Ghassen Ben Hadj Lassoued ・ Dec 28&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#react&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webassembly&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#performance&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#typescript&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>react</category>
      <category>webassembly</category>
      <category>performance</category>
      <category>typescript</category>
    </item>
    <item>
      <title>Computekit — Reusable heavy computations for JS &amp; React</title>
      <dc:creator>Ghassen Ben Hadj Lassoued</dc:creator>
      <pubDate>Sun, 28 Dec 2025 13:17:23 +0000</pubDate>
      <link>https://dev.to/tapava/computekit-a-react-toolkit-for-heavy-computations-without-freezing-the-ui-559a</link>
      <guid>https://dev.to/tapava/computekit-a-react-toolkit-for-heavy-computations-without-freezing-the-ui-559a</guid>
      <description>&lt;p&gt;Hey everyone 👋&lt;/p&gt;

&lt;p&gt;I've been working on a side project called *&lt;em&gt;ComputeKit *&lt;/em&gt;- a small library that makes it easier to run heavy computations in Web Workers with React hooks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The problem I was trying to solve&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;I was working on an app that needed to process images client-side, and my UI kept freezing. Setting up Web Workers manually was painful - separate files, postMessage boilerplate, managing state... it felt like too much ceremony for something that should be simple.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I built&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Register a heavy function once
kit.register('processData', (data) =&amp;gt; {
// This runs in a Web Worker, not the main thread
return heavyComputation(data);
}); 

// Use it like any other async operation
const { data, loading, error, run } = useCompute('processData');
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;React hooks with loading/error states out of the box&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Automatic worker pool (uses available CPU cores)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Optional WASM support for extra performance&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;TypeScript support&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;~3KB gzipped&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What I'm looking for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Honest feedback - is this useful or am I solving a problem nobody has?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Bug reports if you try it&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ideas for improvements&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Contributors welcome if anyone's interested!&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;GitHub: &lt;a href="https://github.com/tapava/compute-kit" rel="noopener noreferrer"&gt;ComputeKit Repo&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Live demo: &lt;a href="https://computekit-demo.vercel.app/" rel="noopener noreferrer"&gt;ComputeKit Demo&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;NPM: &lt;a href="https://www.npmjs.com/package/@computekit/core" rel="noopener noreferrer"&gt;ComputeKit/Core&lt;/a&gt; | &lt;a href="https://www.npmjs.com/package/@computekit/react" rel="noopener noreferrer"&gt;ComputeKit/React&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is my first open source library so I'd really appreciate any feedback, even if it's "this already exists" or "you're doing X wrong". Thanks for reading! 🙏&lt;/p&gt;

</description>
      <category>react</category>
      <category>webassembly</category>
      <category>performance</category>
      <category>typescript</category>
    </item>
  </channel>
</rss>
