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 google sheets hn jobs
Tracks Hacker News Jobs, based on keywords, and saves them to a Google Sheet.
Cronjob invokes
watchJobs
every hour.Fetch top jobs from hn.
Append New Google Sheets row
import { nodes, root, state } from "membrane";
export async function configure({ keywords }) {
state.keywords = keywords;
root.watchJobs.$cron(`0 0 * * * *`)
}
export async function watchJobs() {
const query = `{ title url time }`
const topStories = await nodes.stories.items.$query(query);
const keywords = state.keywords
.split(",")
.map((k) => k.toLowerCase());
const matchedStories = topStories.filter((story) => {
if (!story.url) {
return false;
}
const title = story.title?.toLowerCase();
return keywords.some((k) => title?.includes(k));
});
const data = matchedStories.map((story) => {
const date = new Date(story.time! * 1000)
.toLocaleDateString("en-US");
return [story.title, date, story.url];
});
await nodes.sheet.append({ values: data });
}
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