What is Membrane?

A fast, powerful way to write internal tools in TypeScript, connecting the apps you already use at work.

FEATURES
EXAMPLES
example twitter bot
Uses the Twitter Driver to post a random word definition generated via OpenAI.
Use the OpenAI driver to generate a tweet
Tweet!
import { nodes, root, state } from "membrane";

export async function tweet() {
  const result: any = await nodes.openai.models
    .one({ id: "gpt-3.5-turbo" })
    .completeChat({
      messages: [
        {
          role: "system",
          content: `You're a Ai Dictionary that share lesser-known
          words and fascinating vocabulary facts,
          Return the text with the following format:
          Word: <english word>
          Definition: <short definition>
          Pronunciation: <pronunciation>
          Example sentence: <example sentence>`,
        },
        {
          role: "user",
          content: "Generate a random word",
        },
      ],
      temperature: 1
    });

  await nodes.twitter.tweet({
    text: `${result.content} #membrane`
  });
}
What is Membrane?

A fast, powerful way to write internal tools in TypeScript, connecting the apps you already use at work.

FEATURES
EXAMPLES
Uses the Twitter Driver to post a random word definition generated via OpenAI.
Use the OpenAI driver to generate a tweet
Tweet!
import { nodes, root, state } from "membrane";

export async function tweet() {
  const result: any = await nodes.openai.models
    .one({ id: "gpt-3.5-turbo" })
    .completeChat({
      messages: [
        {
          role: "system",
          content: `You're a Ai Dictionary that share lesser-known
          words and fascinating vocabulary facts,
          Return the text with the following format:
          Word: <english word>
          Definition: <short definition>
          Pronunciation: <pronunciation>
          Example sentence: <example sentence>`,
        },
        {
          role: "user",
          content: "Generate a random word",
        },
      ],
      temperature: 1
    });

  await nodes.twitter.tweet({
    text: `${result.content} #membrane`
  });
}
Communication

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



Enter your email for occasional updates