Johannes Schickling
Draft

Effect Wishlist

I've been using Effect since 2020 and build almost all applications and libraries I'm working on with it. Effect has come an incredibly long way and I'm super happy with it.

This page lists out some features/ideas I'd like to see in Effect. Some might be implemented in the coming months, some might never happen.

Features

  • Browser support for Effect Cluster/Workflows
  • Built-in Opentelemetry support (without the need for @opentelemetry/* packages)

Testing

  • Trace-based testing (see Tracetest)
  • Trace integration for testing (e.g. each test should have a trace)
  • Improved property-based testing
  • Improved layer ergonomics (e.g. Vitest.describe could already provide a layer to all tests in the describe block)

Schema

  • Effect schema native sub typing checking (related to jsonsubschema)
  • AST-based stable hashes (see Github issue)
  • Support for flatbuffers/protobuf etc
  • Code generation of Effect schemas (e.g. from JSON schema)
  • Schema evolution
  • A way to serialize a schema

Misc

  • Code generation helpers
  • A graph library incl. common graph algorithms (see PR)
  • A GraphQL library (possibly even implemented from scratch without using graphql-js for better performance)
  • A Effect-native way to write, run and test GitHub workflows/actions (also locally)
  • More platform packages
    • Electron/Tauri platform packages
    • Cloudflare Workers platform package
    • Browser extensions platform package (Chrome, Safari, Edge)

Standard library

  • The "best of all worlds" of Deferred, Latch and Ref

API changes

  • Rename Effect.succeed to Effect.ok (to align with Rust's Result.ok)

Docs / examples

  • JSdocs for everything in Effect
  • Exhaustive examples

AI

  • Effect rulekit to align coding agents with Effect
  • MCP tool (or similar) to help review/refactor Effect code to make it more Effect idiomatic

Devtools

  • Effect devtools as browser extension to extend browser devtools
  • Custom, live metrics

Integration packages

For Effect to truly unlock its full potential, we need to have native integration with other tools.

Playwright

It would be great if there were Effect-native Playwright bindings.

Other ideas

Notion

I already started working on effect-notion to make it easier to build with Notion in Effect.

Painpoints

  • No true step-debugger support (due to Effect fiber system runtime)