Skip to main content Link Search Menu Expand Document (external link)

Typed


Join us on Discord

Typed is your Effect-native toolkit for building full-stack web applications, with an emphasis on front-end use-cases.

Runs Everywhere:

  • Client-side rendering
  • Server-side Rendering
  • Static Rendering
  • Web Workers
  • Service Workers
  • Everywhere you can find Effect.

Type-safety like you’ve never experienced:

Leverage Effect, and the decades of collective knowledge of its maintainers, to streamline the process of creating robust, type-safe web applications. You’ve never had the TypeScript compiler work this hard for you.

  • Type-safe error tracking
  • Type-safe dependency tracking
  • Type-safe routing
  • Type-safe servers and clients end-to-end, including mocks

Model your user’s behavior like the browser:

Fx, shorthand for the plural form of Effect, brings push-based reactive programming to Effect, enabling you to model your user’s behavior the same way the browser itself does. Complex user interactions have never been so easy, nor so declarative.

Built to be tested:

Backed by Effect, everything is testable by default, but in addition

  • Context-Aware Abstractions - @typed/context wraps all effect/* data structures in context-aware variants and more.
  • HTML Template Testing - @typed/template/Test contains test tools for testing with HTML
  • DOM Template Testing - @typed/template/Test also contains test tools for rendering and hydration
  • Vitest Integration - @typed/template/Vitest wraps @effect/vitest to provide resources common to testing @typed/template abstractions.

Backend-for Frontend:

Building the API servers to support your frontend-applications has never been so powerful.

  • Type-safe Open API Specification and Implementation
  • Type-safe Client derivation, including mocks powered by @effect/schema + fast-check
  • Type-safe Servier implementation, including mocks powered by @effect/schema + fast-check
  • Deep integration with Typed Template

Built to last:

Typed places heavy emphasis on long-term-friendly design patterns, and favors this over extreme performance at all times. Backed by Effect, Dependency Inversion has never been more powerful. Type-safe errors make refactoring a breeze. With @typed/template even your event handler’s errors will be surfaced within the type system and can be handled using the growing collection of functions from @typed/Fx.

Every long-term project reaches a point where the well-worn path doesn’t fit your needs. Typed is built with these kinds of custom needs from the start. Typed knows what it knows, and doesn’t make assumptions about what exists outside its bounds. Full control is always within reach.