another @EffectTS_ migration.. Lots of existing bugs found and fixed, Business Errors surfacing, better testability, new levels of observability unlocked.. "Boring" business work can (re)start now.. :)
This Week in Effect - 2025-02-07
Hi Effecters!
Welcome back to This Week In Effect (TWIE) - your weekly update of the latest developments in the Effect community and ecosystem.
Effect is a powerful TypeScript library that helps developers create complex, synchronous, and asynchronous programs. One key feature that sets Effect apart is how it leverages structured concurrency to provide features such as async cancellation and safe resource management, making it easier to build robust, scalable, and efficient programs.
To get started, below you’ll find links to our documentation as well as our guide for installing Effect. Enjoy!
Recent major updates:
- The Effect Days conference is returning this March 2025! 🎉
- The Effect community on Discord reached 3810+ members!
- Effect 3.12 has been released.
Here are all the technical changes from this week.
- Tests: use assertIncludes instead of assertTrue where applicable (Refactor)
- Test: add assertions for Option and Cause using node:assert, vitest and expect (Feature)
- Schema: improve handleForbidden implementation with SyncScheduler (Improvement)
- Internal: improve assertions (Improvement)
- A more precise signature has been applied for Effect.schedule (Bug Fix)
- Fix internal import in Schema.ts (Bug Fix)
- Update schema benchmarks (Documentation Update)
- Mark Micro test as flaky (with retry option) (Improvement)
- Schema: add additional tests for effectful transformations (Improvement)
- Make Array.makeBy dual (Feature)
- Duration: fix format output when the input is zero (Bug Fix)
- Internal: replace eitherOrUndefined API usage with isEither in ‘ParseResult’ (Refactor)
- Remove unnecessary type assertion in Effect.forEach definition (Optimization)
- Fix STM unification (Bug Fix)
- Enhance TagClass and ReferenceClass to enforce key type narrowing (Bug Fix)
- Make it easy to convert a DateTime.Zoned to a DateTime.Utc (Feature, next-minor)
- Add Promise based apis to Fiber’Handle,Set,Map’ modules (Feature, next-minor)
- Add HashMap.some (Feature, next-minor)
- Add ISO8601 duration formatting (Feature, next-minor)
- Schema: Add standardSchemaV1 API to Generate a Standard Schema (Feature, next-minor)
- Add missing Either.void constructor (Feature, next-minor)
- Internal: simplify formatters implementation (Optimization)
- Add Embeddings service to the AI integration packages (Feature)
- Support non-identified schemas in Completions.structured and AiChat.structured (Feature)
- Rename correlationId to toolCallId for AI structured outputs (Optimization)
- Add GenAI telemetry annotations to AI chat completions (Feature)
- Fix imports (Bug Fix)
- Fix CLI -h to display default values (Bug Fix)
- Fix imports (Bug Fix)
- Add LoggerProvider support to @effect/opentelemetry (Feature)
- Fix imports (Bug Fix)
- Tests: use assertIncludes instead of assertTrue where applicable (Refactor)
- Add missing listen example for Bun (Documentation Update)
- Platform: add sync (fsync) (Feature)
- Add HttpServerResponse.mergeCookies (Feature)
- Fix imports (Bug Fix)
- Send SELECT 1 as unprepared statements (Refactor)
- Fix effect vitest layer (Bug Fix)
-
Thank you to Stephane Le Dorze, Tech Lead at GEODIS and a long-time Effect developer, for sharing his successful experience with migrating a codebase to Effect.
-
Dillon Mulroy live-streamed two episodes of his series Freelance project with TypeScript, Svelte 5, and EffectTS 🚀 and two episodes of his new series Building a budget syncing app for Splitwise and YNAB with AI and EffectTS 🚀 on his Twitch channel.
The Effect Days conference is happening on March 19-21, 2025, and it’s the perfect chance to connect with the Effect community and celebrate the Effect ecosystem in person! Get your ticket! 🎟️
Effect Days is returning this March 2025, set in a beautiful seaside location in Tuscany, Italy! 🇮🇹 Join us for insightful talks, delicious food, and beautiful coastal views. Grab your ticket now! 🎟️ effect.website/events/effect-…
This week, we announced Edouard Penin as a conference speaker. Edouard is a full-stack engineer at Evryg.
Edouard Penin, a full-stack engineer at @EvrygDotCom, is bringing his expertise in testing with Effect to Effect Days. Don’t miss it—grab your ticket to the conference now! 🎟️ effect.website/events/effect-…
Shout out to our conference sponsors, Inato and Evryg.
Inato is a global clinical trial marketplace that brings research to patients where they live. The Inato team is a long-time supporter of Effect and actively advocates for it within the developer community.
We're excited to have @inatohealth as a sponsor of Effect Days 2025! Inato is transforming clinical research by creating a global clinical trial platform that brings research to patients where they live. 🎟️ Book your ticket & join us this March in Italy! effect.website/events/effect-…
Evryg is a Paris-based software consulting firm specializing in Effect. The Evryg team leverages deep expertise in Effect to deliver innovative software solutions for clients.
Excited to announce @EvrygDotCom as a sponsor for our Effect Days conference again this year!🚀 A Paris-based software consulting firm with Effect expertise, evryg continues to support & empower the Effect community! 🎟️🎟️Get your conference tickets: effect.website/events/effect-…
-
The eleventh episode of Re-building Contentlayer with Effect has been published on the Effect YouTube Channel.
Play
Don’t forget to listen to our Cause & Effect podcast hosted by Johannes Schickling, and available on Youtube, X(Twitter), and audio platforms like Spotify and Apple Podcast. This podcast highlights stories from software engineers and companies using Effect in production. Each episode explores their journey of adopting Effect, the learning process, the challenges faced, and the benefits of integrating Effect into their tech stack.
In our first episode, we were joined by Attila Večerek, Tech Lead & Staff Engineer, who discussed how Zendesk incrementally adopted Effect in a polyglot environment with a large codebase. Give it a listen and let us know what you think on our social media or Discord!
In December 2024, we unveiled the Effect Merch Store, with a selection of Effect-branded items designed for the community. All orders are processed through Printful.
Effect Merch is here! We’re excited to announce the launch of our Effect merch page! Grab your favorite swag & show your love for Effect in style! 🧢 effect.website/merch
More and more companies are adopting Effect in their projects—here’s a list of exciting job opportunities that include Effect in their tech stack:
-
Superwall: Full-stack TS developer with backend & infrastructure experience.
-
Expand.ai: Software Engineer
-
Platonic Systems: Remote Effect Engineers
-
Inato: Senior Product Engineer
-
Medbill.ai: Founding Software Engineers (full-stack and backend)
-
Oneiro Solutions: Software Engineer - Core Team. Join our Discord and DM leighman for further info.
-
Microsub: TS Developer
-
Samsung Food: Full Stack Developer
-
Stealth team looking for an Engineer with experience in Effect. The job posting is available in the
#job-board
channel on our Discord.
Disclaimer: Please note that these job postings are shared for informational purposes, and we encourage applicants to verify details directly with the hiring companies.
That’s all for this week. Thank you for being a vital part of our community. Your feedback is highly valued as we fine-tune this format. Feel free to share your thoughts, and we’ll do our best to tailor it to the needs of our community.
Effect Community Team