Skip to content

This Week in Effect - 2026-07-10

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 build 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 and our guide for installing Effect. Enjoy!

Recent major updates:

 

The v4 beta had one of its busiest weeks yet, a sweeping Schedule API rework, new Schema decoder/encoder types, a native SQLite switch, and a major Cron semantics fix.

  • Schedule overhaul: Consolidated Schedule limiting APIs into a cleaner surface, added Schedule.min and Schedule.max for composing schedules by output, simplified the internal representation, removed several redundant APIs, and fixed Schedule.cron behavior when the test clock is adjusted to infinity. Cron expressions now more closely adhere to vixie semantics, including support for step fields like 5/15 expanding from the starting value through the field maximum.

  • Schema additions: Added Schema.Decoder and Schema.Encoder types to enable passing simpler schema shapes to APIs that only decode or only encode, added Schema.DateFromMillis for millisecond-epoch date decoding, and improved the passthrough strict: false mode example in docs.

  • LayerRef: Added a new LayerRef module for holding a reference to a Layer that can be swapped at runtime — useful for testing and dynamic configuration.

  • Native SQLite: Replaced better-sqlite3 with Node’s built-in node:sqlite module in sql-sqlite-node, removing a native dependency and improving portability.

  • FileSystem: Added glob support to the FileSystem module for pattern-based file discovery.

  • Entity & cluster: Cached clients by entity reference for better performance, and isolated cluster entity handler context from the fiber that first wakes it, fixing a subtle context leak.

  • RPC: Changed RPC IDs to string | number for broader compatibility with existing systems.

  • Config: Treated empty config strings as missing data, aligning with the principle of least surprise for environment variable–backed config.

  • Atoms & reactivity: Used Sets to track atom relationships, improving correctness and performance of the reactivity graph.

  • Cron: Fixed Memory_20250818 missing requiresHandler flag, and fixed activity retry policy.

  • Performance: Optimized Bun stream reading, forked memo maps on nested layer builds to prevent cross-build contamination, and allowed cron field expansion from starting values.

  • HTTP: Fixed HttpApi runtime shape, and allowed additional HttpApiClient options.

Full changelog in the effect-smol repository.


To catch up on more updates, check out Effect v4 Beta updates.

 

Other technical changes from the past week.

 

Visit our Effect Community Events calendar and subscribe for updates on upcoming Effect events.

 

 

  • An intro to Effect by Code and Stuff
Play

 

 

 

  • Foldkit -> Effect -> Alchemy

    It's Effect all the way down. Foldkit on top of Alchemy: Frontend -> Backend -> Infrastructure

    nolan
    nolan
    @nolangclement

    Big changes to my @foldkit + @alchemy_run starter repo. It's now a live chat app. Cloudflare workers / DO powering the messaging and chats are persisted to Neon, BetterAuth integration too Impressed with how it feels to build with agents in this stack, feels unsloppable

 

 

 

 

  • unitflow – Effect-first state manager. Project by Timur Rakhimzhan.

 

  • Cycle – a local first ai agent driven ticket system backed by a git repository. Project by Robert Pitt.

 

  • Hexagonal DDD - an educational Hexagonal DDD example built with Effect v4. Project by Data Quail.

  • citymcp - gives agents live city data. Project by Sean Lees at the Londonmaxxing 003 Hackathon.

 

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.

Kit Langton joined the podcast to talk about Effect, OpenCode, and what it takes to migrate a large TypeScript codebase to Effect. Enjoy a very Kit episode, technical, funny, opinionated, and full of love for effect systems.

Play

 

  • Effect Office Hours 36 🔥
Play

 

  • Inside Rivet’s Effect SDK
Play

 

  • How to convince your team to adopt Effect
Play

 

  • WrapperError
Play

 

  • Effect.gen vs pipe
Play

 

More and more companies are adopting Effect in their projects. Here’s a list of companies looking for software engineers with Effect experience:

Disclaimer: Please note that these job postings are shared for informational purposes, and we encourage applicants to verify details directly with the hiring companies.

 

The Effect Merch Store offers a selection of Effect-branded items designed for the community. All orders are processed and fully managed through Printful.

 

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