Effect Days: The beginning of a new era

Sandro Maglione

Sandro Maglione

Web development

23 February 2024. This day will be remembered as the beginning of a new era of programming.

That was the day of the first conference about Effect: the Effect Days.

I couldn't miss this. I experienced the full conference from the frontline.

Here is what you must know, and why you must care πŸ‘‡


Why Effect

Effect uses the full power of the Typescript type system to implement software that scales:

function makePayment(params: { readonly amount: number, readonly email: string }):
  Effect<
    PaymentReceipt,
    ConnectionError | PaymentError | WrongParametersError,
    PaymentService | AuthService
  > {
    /// ...
}

The return type defines everything that can happen:

  • PaymentReceipt: If the function succeeds we get back all the information about the payment
  • ConnectionError | PaymentError | WrongParametersError: If the function fails, we know exactly why and where, so we can respond accordingly
  • PaymentService | AuthService: A complex system is composed by many moving parts, the type reports all the services required to make a payment

All errors and dependencies are propagated and checked at compile time

You know exactly what can happen in every function, just by reading the types βœ…


Effect Days

These where 3 epic days in Vienna.

I experienced the full 3 days of conference: everything exceeded all my expectation, it was awesome πŸ”₯I experienced the full 3 days of conference: everything exceeded all my expectation, it was awesome πŸ”₯

  • Day 1: I attended a workshop all about advanced Effect. All the code for the workshop both for beginners and advanced is open source on Github
  • Day 2: full day of conference with talks all about the origins, the present, and the future of Effect

  • Day 3: all together for 2 hours of Laser Tag, lunch, and a guided visit of Vienna

We went for a guided visit of the city of Vienna: here is us all together πŸ‘†We went for a guided visit of the city of Vienna: here is us all together πŸ‘†

Takeaways

Here is everything that happened and why you should take notice ✍️

Effect is the future of Typescript

Everyone is all-in on Effect. The ecosystem is growing, many peoples and companies are starting to use it, and everyone is excited about what's coming.

100+ people at the conference, all experienced and lead developers, all supporting Effect100+ people at the conference, all experienced and lead developers, all supporting Effect

Effect is the new ZIO

John De Goes, the creator of ZIO himself, clearly described the impact and future of Effect in his talk.

He gave one of the best talks ever: "Why Effect is more important than ZIO"

Effect brings the ideas of ZIO from Scala to TypescriptEffect brings the ideas of ZIO from Scala to Typescript

Effect + XState = πŸš€

I believe Effect and XState is the best combination of libraries in Typescript.

I met with the author of XState (David πŸ‘‹) and we had the chance to discuss the future of both libraries. A lot of great things are coming πŸ”œ

David gave a talk about XState and Effect: how they work great together 🀝David gave a talk about XState and Effect: how they work great together 🀝

Effect + Local-first = πŸš€

Local-first will be the standard for software applications in the near future. Effect will play a big role in spearheading this new way of building software.

Many new libraries are building on top of Effect to make local-first possibleMany new libraries are building on top of Effect to make local-first possible


I wrote a full blog post showing why Effect allows to building software at scale.

This is what you should know about Effect and why you should pay attention πŸ‘†


Now it's the time to start using Effect: Effect 3.0 (stable) is coming in the next few months πŸ”₯

Stay tuned because I am going to publish more about it, both beginners and advanced material.

The workshop and conference talks will be published on Youtube in the coming months

The future is exciting πŸš€

See you next πŸ‘‹

Start here.

Every week I build a new open source project, with a new language or library, and teach you how I did it, what I learned, and how you can do the same. Join me and other 700+ readers.