

This talk presents an incremental refactoring of a small utility for image processing, transforming it from imperative code into a functional style using the Effect library for TypeScript. We will rewrite the application using declarative functions that improve composability, error handling, and dependency separation through dependency injection mechanisms. During the kata, we will discuss how functional abstractions enable more predictable, safe, and maintainable handling of I/O, concurrency, and errors. Bio: Cosimo is a software developer at [doubleloop.io](https://doubleloop.io/) who combines creativity and precision in building digital products. He adopts an iterative and incremental approach, applying it both to development and learning.
