MEMBRANE
BETA
What is Membrane?
Membrane is a hosted TypeScript runtime specifically designed to build personal automation tools and interact with APIs more easily.
FEATURES- Durable Programs ....................................................................................................0
- Cron Jobs and Timers ....................................................................................................1
- Built inside VS Code ....................................................................................................2
- The Graph ....................................................................................................3
- Graph-based Access Control ....................................................................................................4
- Observability ....................................................................................................5
- Instantanous Deploys ....................................................................................................6
- Step Debugger ....................................................................................................7
- Custom Exit Nodes ....................................................................................................8
- HTTP Endpoints ....................................................................................................9
- Open Source Drivers (APIs) ....................................................................................................10
- Code completion ....................................................................................................11

EXAMPLES
- SMS Reminders ....................................................................................................9
- Discord Weather Bot ....................................................................................................10
- Mailchimp Alerts ....................................................................................................11
- Follow Hacker News Users ....................................................................................................12
- Airtable changes to Email ....................................................................................................13
- Twitter Bot ....................................................................................................14
- HTMX Form ....................................................................................................15
- Github Weekly Report ....................................................................................................16
- Github Action Alert ....................................................................................................17
- Github Commits on Discord ....................................................................................................18
- Track HN Jobs in Google Sheets ....................................................................................................19
- Mailchimp to airtable ....................................................................................................20
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 Explorer.
Drag from The Graph to use programmatically.
Make your own abstractions.
Double space, oops.
What is Membrane?
Membrane is a hosted TypeScript runtime specifically designed to build personal automation tools and interact with APIs more easily.
FEATURESEXAMPLES
Features Walkthrough
Communication
- 2023.08.20 Progress Update #3 Simpler function signatures, built-in Google auth.
- 2023.08.13 Progress Update #2 Windows support and OOM handling.
- 2023.07.30 Progress Update #1 Internal logging architecture, improved HTTP UI.
- 2023.07.14 Progress Update #0 Exit nodes and Program Replays.
Enter your email for occasional updates