Skip to content

This Week in Effect - 2026-04-03

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

Recent major updates:

 

Here are the main changes that landed in effect-smol.

  • Schema overhaul: Renamed makeUnsafe back to make, merged ExtendableClass into Class, added Schema.asClass to turn any schema into a class with static method support, added Schema.resolveAnnotationsKey, added a compile-time MissingSelfGeneric error for Class APIs, simplified default-value APIs to accept Effect<T>, added makeEffect alongside makeUnsafe on Schema.Bottom, removed the ~annotate.in type from Bottom, fixed duplicate identifier reuse in references, fixed ErrorClass/TaggedErrorClass toString to match native Error output, and added several missing *FromString schemas.

  • IndexedDB & reactive stores: Merged the long-awaited IndexedDb module (originally opened in February), added .reactive to IndexedDB .first queries, added defaults to reactivity keys, allowed Model.Class for IndexedDB schemas, and allowed customizing IDB durability.

  • Stream & runtime: Added Stream service accessors, fixed Stream.groupedWithin partial batch flushing, added Stream.timeoutOrElse, fixed Effect.repeat to use the effect return value when using options, and added Layer.suspend constructor.

  • SQL & HTTP: Added KeyValueStore.layerSql, returned resolvers directly from SqlModel.makeResolvers, made Unify.unify work with the Layer module, and updated the HttpMiddleware logger to only log the path.

  • Platform & internals: Added child process unref support, cleaned up ShardId, removed rulesync and cleanup patterns, and renamed dtslint directories to typetest.

You can follow the full changelog directly in the effect-smol repository.

 

Here are all the technical changes from the past week.

 

 

  • We always have the right answer!

 

 

 

 

 

 

 

 

  • github-stars-organizer – a coffee-break project done with a single prompt, Opus 4.6 + Effect MCP. An example of how good Opus is at writing Effect code. Project by David Nussio.

 

  • lion – a JSON-based Lisp where all code is valid JSON and all JSON is valid Lion code, written 100% in Effect. Project by andrueandersoncs.

 

  • effect-analyzer – a browser-based static analysis tool for Effect code that renders railway diagrams and interactive pages showing service dependencies, error flows, and complexity metrics. Project by Jag Reehal.

 

  • effect-skills – a collection of opinionated best-practice guidelines for Effect-TS codebases. Project by Betalyra.

 

  • sveltekit-effect-runtime – a runtime-only adapter providing wrapper functions for using Effect within SvelteKit server-side APIs such as handlers, loaders, and actions. Project by RATIU5.

 

  • effect-oxlint – a library for writing oxlint custom lint rules using Effect v4 patterns. Project by mpsuesser.

 

  • opencode-effect-enforcer – an OpenCode plugin that enforces opinionated Effect v4 development guardrails in real time, detecting anti-patterns and injecting guidance to ensure agents follow Effect best practices. Project by mpsuesser.

 

 

  • Effect Office Hours 23 🔥
Play

 

  • Effect.Service
Play

 

  • Mike’s workflow for coding with agents
Play

 

  • Tips on convincing co-workers to use Effect
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.

Adam Rankin, CTO at Warp, joined Johannes Schickling to talk about using Effect to bring structure and composability to a growing TypeScript codebase, enabling a small, fast-moving team to stay productive while shipping reliable payment & payroll systems.

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