<?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: Emma Tardy</title>
    <description>The latest articles on DEV Community by Emma Tardy (@craftyem).</description>
    <link>https://dev.to/craftyem</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4027408%2F46a21577-ed1c-47bb-b855-a45cb0de68f2.png</url>
      <title>DEV Community: Emma Tardy</title>
      <link>https://dev.to/craftyem</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/craftyem"/>
    <language>en</language>
    <item>
      <title>TypeScript is lying to you (and how to fix it with Effect) 🛠️</title>
      <dc:creator>Emma Tardy</dc:creator>
      <pubDate>Mon, 13 Jul 2026 15:09:50 +0000</pubDate>
      <link>https://dev.to/craftyem/typescript-is-lying-to-you-and-how-to-fix-it-with-effect-3nnm</link>
      <guid>https://dev.to/craftyem/typescript-is-lying-to-you-and-how-to-fix-it-with-effect-3nnm</guid>
      <description>&lt;p&gt;Ever looked at a function like async function completeTask(id: string): Promise and thought it was safe?&lt;/p&gt;

&lt;p&gt;It’s actually a lie by omission. It doesn't tell you that it can fail in 5 different ways, or that it tightly couples your database and mailer dependencies. You usually find out... in production.🔥&lt;/p&gt;

&lt;p&gt;In our latest article, we dive deep into how the Effect ecosystem (Effect) brings type safety to the next level, making Hexagonal Architecture and TDD the path of least resistance in TypeScript.&lt;/p&gt;

&lt;p&gt;Note: The deep-dive article is written in French, but code blocks are universal and your browser's translator will handle the rest perfectly! 😉&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://blog.hoppr.tech/blogs/2026-06-22-effect-ou-comment-arreter-de-decouvrir-ses-erreurs-en-production" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.hoppr.tech%2F_og%2Fs%2Fo_vx5773.png" height="400" class="m-0" width="800"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://blog.hoppr.tech/blogs/2026-06-22-effect-ou-comment-arreter-de-decouvrir-ses-erreurs-en-production" rel="noopener noreferrer" class="c-link"&gt;
            Effect, ou comment arrêter de découvrir ses erreurs en production | HoppR
          &lt;/a&gt;
        &lt;/h2&gt;
          &lt;p class="truncate-at-3"&gt;
            À mesure que les systèmes gagnent en complexité, les approches traditionnelles montrent leurs limites. Dépendances cachées, erreurs silencieuses, tests laborieux : autant de symptômes qui ralentissent
          &lt;/p&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fblog.hoppr.tech%2Ffavicon.ico" width="16" height="16"&gt;
          blog.hoppr.tech
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;What about you? Are you already using Effect in production, or are you still relying on traditional try/catch and raw Promises? Let’s discuss in the comments! Drop a ❤️ or 🦄 if you found this helpful!&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
