MEMBRANE
alpha
What is Membrane?
Stateful serverless TypeScript for internal tools.
FEATURESEXAMPLES
the graph
Membrane programs communicate with the outside world and each other, through an unified interface that we call The Graph. The Graph is a simple, yet powerful abstraction over external APIs and your own data that enables quick and easy composition of functionality.
Simplicity comes from the fact that everything is a node and every node is typed. For example, nodes can be of type
String
, Int
, Email
, Repository
, etc.The graph contains three types of nodes:
- Fields: Nodes which can be read/queried.
- Actions: Nodes which can be invoked.
- Events: Node which can be emitted.
API drivers (i.e. connectors) as well as your programs expose their functionality as nodes which can then be referenced and used by other programs.
Intuitively,
GET
requests are mapped to fields, POST/PUT/DELETE/etc
requests (anything effectful) are mapped to actions, and webhooks are mapped to events.The beauty of this approach is that you can build on top of these nodes and create custom abstractions which are also nodes in the graph. Have you ever wanted to combine Jira, Github and Airtable to build a workflow that matches your mental model? Membrane is where you do that.
Every node in your graph is referenceable by a URL-like string called a Handle. Handles exists as typed objects in TypeScript world, like a file descriptor but for everything.
Try APIs from the Graph Navigator.
Drag from The Graph to use programmatically.
Make your own abstractions.
Double space, oops.
What is Membrane?
Stateful serverless TypeScript for internal tools.
FEATURESEXAMPLES
Features Walkthrough
In this video we discuss 3 of the most important features of Membrane: Durability, The Graph, and Observability.
If you're curious about Membrane's architecture, Juan joined the devtools.fm podcast to talk through the nuts and bolts.
Communication
- 2024-10-04 Changelog 0.6 IDE text selection; GitHub, Anthropic driver upgrades
- 2024-09-27 Changelog 0.5 Better npm support; package sharing upgrades
- 2024-09-13 Changelog 0.4 Navigator file explorer; share page improvements
- 2024-09-06 Changelog 0.3 Support npm package types; Logs back navigation
- 2024-08-30 Changelog 0.2 Logs UI upgrades and better onboarding UX (examples)
- 2024-08-23 Changelog 0.1 Improved Navigator context menu and driver install UX
- 2024-06-19 Public Roadmap A Membrane program to share what we're working on
- 2023-09-20 Progress Update #3 Simpler function signatures; built-in Google auth
- 2023-09-13 Progress Update #2 Windows support and OOM handling
- 2023-08-30 Progress Update #1 Internal logging architecture; improved HTTP UI
- 2023-08-14 Progress Update #0 Exit nodes and Program Replays
Enter your email for occasional updates