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

example github discord tracker
Send a Discord message when a commit is pushed to Github.
Save repository and channel information in
state
Subscribe to event
Send message to Discord
import { nodes, root, state } from "membrane";
export async function configure({ discordUrl, repo }) {
const [user, repository] = repo.split("/");
state.discordUrl = discordUrl;
state.repository = repository;
state.user = user;
await nodes.github.users
.one({ name: user })
.repos.one({ name: repository })
.pushes.$subscribe(root.handlePushEvent);
}
export async function handlePushEvent(_, { event }) {
const res = await event.commit.$query(
`{ message, html_url, author { login } }`
);
const body = {
username: "Github alert",
content: `${res.author.login} pushed to
${state.user}/${state.repository}: -
${res.message} (${res.html_url})`,
};
await fetch(state.discordUrl, {
method: "POST",
body: JSON.stringify(body),
headers: {
"Content-Type": "application/json",
},
});
}
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