What is Membrane?

Stateful serverless TypeScript for internal tools.

FEATURES
EXAMPLES
example mailchimp alerts
Example of a Membrane program that send a sms when a new subscriber is subscribed to a Mailchimp audience.
Subscribe to event
Send SMS notification
import { nodes, root, state } from "membrane";
const { mailchimp } = nodes;

export async function configure({ audienceId }) {
  const audience = mailchimp.audiences.one({ id: audienceId });
  state.name = await audience.name;
  await audience.subscribed.$subscribe(root.handler);
}

export async function handler(_, { event }) {
  await nodes.sms.send({
    message: `New subscriber on "${state.name}": ${event.email}`,
  });
}

What is Membrane?

Stateful serverless TypeScript for internal tools.

FEATURES
EXAMPLES
Example of a Membrane program that send a sms when a new subscriber is subscribed to a Mailchimp audience.
Subscribe to event
Send SMS notification
import { nodes, root, state } from "membrane";
const { mailchimp } = nodes;

export async function configure({ audienceId }) {
  const audience = mailchimp.audiences.one({ id: audienceId });
  state.name = await audience.name;
  await audience.subscribed.$subscribe(root.handler);
}

export async function handler(_, { event }) {
  await nodes.sms.send({
    message: `New subscriber on "${state.name}": ${event.email}`,
  });
}
Features Walkthrough
In this video we discuss 3 of the most important features of Membrane: Durability, The Graph, and Observability.
Clickable poster of the Features Walkthrough video

If you're curious about Membrane's architecture, Juan joined the devtools.fm podcast to talk through the nuts and bolts.

Communication


Enter your email for occasional updates