Skip to content

Intro

Membrane is a new and powerful way to quickly build applications, utilities and internal tools with TypeScript, while integrating with the apps and services you already use.

To effectively use Membrane, we recommend first playing around with the Hello World program and then learning the core concepts that make Membrane unique and powerful.

What’s different?

Membrane has some superpowers that differentiate it from other JavaScript/TypeScript environments, most notably:

  • Programs are durable. There’s no need to store & load data from a database. Instead, keep everything in the state object.
  • Access everything via a unified graph. Access external APIs in a standard way without worrying about API quirks, SDKs or reading lots of docs.
  • Everything is in the logs. Our runtime uses a write-ahead log, so if it’s not in the logs, it didn’t happen. Our logs are also semantically rich and let you quickly rerun actions.
  • Easy HTTP and email. Every program comes with its own domain name and email address. Simply export an endpoint or email function to quickly build powerful automations.
  • Cronjobs. Easily run functions on a schedule.
  • And much more! Like visual tools to explore program state, instant deployments, a built-in REPL, easy SMS integration, and (coming soon) a fully-fledged debugger.

When to use Membrane

Popular use cases for Membrane include

  • Internal tools
  • Long-lived workflows
  • Email or SMS automation
  • Slack/Discord/Telegram bots
  • LLM-powered AI agents
  • Webhook handlers
  • Cron jobs
  • Simple HTTP APIs
  • Simple server-side rendered websites
  • Personal utilities
  • Prototypes

When not to use Membrane

If you’re building an application that needs to scale horizontally to handle very high throughput, you should not use Membrane. This is because Membrane trades off scalability for developer experience. In many cases, you can still use Membrane for parts of your application that don’t need to handle large amounts of traffic.

Community

Come join us on our Discord or reach out via contact@membrane.io. We’ll help you get set up and and build whatever your heart desires.

By the way, these docs are open source. To contribute, click Edit page at the bottom of any page, or open a PR directly on our GitHub repo.