<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>Thomas Seeley</title>
    <subtitle>Posts about programming, design, and building things.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://www.tseeley.com/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://www.tseeley.com"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2024-11-10T00:00:00+00:00</updated>
    <id>https://www.tseeley.com/atom.xml</id>
    <entry xml:lang="en">
        <title>Hello, Membrane</title>
        <published>2024-11-10T00:00:00+00:00</published>
        <updated>2024-11-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Thomas Seeley
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://www.tseeley.com/posts/hello-membrane/"/>
        <id>https://www.tseeley.com/posts/hello-membrane/</id>
        
        <content type="html" xml:base="https://www.tseeley.com/posts/hello-membrane/">&lt;p&gt;It’s been a busy, exciting past few months. I joined &lt;a rel=&quot;noopener nofollow external&quot; target=&quot;_blank&quot; href=&quot;http:&#x2F;&#x2F;membrane.io&#x2F;&quot;&gt;membrane.io&lt;&#x2F;a&gt; as an intern in September, and I’m having a great time making improvements to the platform and building things in user space.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;what-s-membrane&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#what-s-membrane&quot; aria-label=&quot;Anchor link for: what-s-membrane&quot;&gt;What’s Membrane?&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;Membrane is a serverless platform for developing JavaScript&#x2F;TypeScript programs.&lt;&#x2F;p&gt;
&lt;p&gt;Every program you create in your Membrane workspace becomes part of your graph, and the programs can connect to each other through this graph.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;video controls width=100% src=&#x27;https:&#x2F;&#x2F;docs.membrane.io&#x2F;videos&#x2F;add-connections.mp4#t=0.1&#x27;&gt;&lt;&#x2F;video&gt;&lt;&#x2F;p&gt;
&lt;p&gt;There are a few key things that sets Membrane apart from other serverless platforms:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Programs have built-in state - no need to set up a database&lt;&#x2F;li&gt;
&lt;li&gt;Everything gets logged before it happens - if it’s not in the logs, it didn’t happen&lt;&#x2F;li&gt;
&lt;li&gt;Each program gets an email address - handle incoming emails by exporting an &lt;code&gt;email&lt;&#x2F;code&gt; function&lt;&#x2F;li&gt;
&lt;li&gt;Each program gets its own endpoint - handle HTTP requests by exporting an &lt;code&gt;endpoint&lt;&#x2F;code&gt; function&lt;&#x2F;li&gt;
&lt;li&gt;Programs can use other programs as building blocks through graph connections&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;what-i-ve-been-working-on&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#what-i-ve-been-working-on&quot; aria-label=&quot;Anchor link for: what-i-ve-been-working-on&quot;&gt;What I’ve Been Working On.&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;span name=&quot;what-ive-been-working-on&quot;&gt;Most of my time has been spent on Membrane’s API drivers. Drivers let you interact with external APIs through Membrane’s graph.&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I’ve been improving existing drivers like &lt;a rel=&quot;noopener nofollow external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.membrane.io&#x2F;share&#x2F;membrane&#x2F;discord&quot;&gt;Discord&lt;&#x2F;a&gt; and &lt;a rel=&quot;noopener nofollow external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.membrane.io&#x2F;share&#x2F;membrane&#x2F;anthropic&quot;&gt;Anthropic&lt;&#x2F;a&gt; and building a &lt;a rel=&quot;noopener nofollow external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;membrane.io&#x2F;share&#x2F;iamseeley&#x2F;driver-generator&quot;&gt;tool&lt;&#x2F;a&gt; to generate new ones. The more drivers on Membrane, the more useful tools and automations we can build!&lt;&#x2F;p&gt;
&lt;p&gt;A driver exposes API endpoints as nodes (fields, actions, events) that you can reference in your graph with a simple syntax.&lt;&#x2F;p&gt;
&lt;p&gt;For example, &lt;code&gt;github:users.one(name:&quot;membrane-io&quot;)&lt;&#x2F;code&gt; tells Membrane to get a specific GitHub user - but here’s what’s cool: even though that API call returns all of the user’s data, you can selectively reference just the pieces you need in other programs, like if we want to get their avatar: &lt;code&gt;github:users.one(name:&quot;membrane-io&quot;).avatar_url&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Other Projects and Improvements:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Implemented type inference for Membrane &lt;code&gt;state&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Dynamic OG images for the changelog, packages, and docs&lt;&#x2F;li&gt;
&lt;li&gt;Made a driver for the Membrane API: &lt;a rel=&quot;noopener nofollow external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.membrane.io&#x2F;share&#x2F;iamseeley&#x2F;mem&quot;&gt;mem&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;I’m excited to start building more drivers and example tools&#x2F;automations :). Also, planning on doing a write-up of the &lt;a href=&quot;&#x2F;posts&#x2F;driver-generator&quot;&gt;driver-generator&lt;&#x2F;a&gt; soon! I’d like to get into the code and explain how we use it to speed up the driver development process.&lt;&#x2F;p&gt;
&lt;p&gt;If you’d like to learn more about Membrane check these out:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;notes.just-be.dev&#x2F;Membrane%2C+A+Living+Computational+Environment&quot;&gt;Justin Bennett: Membrane, A Living Computational Environment&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.devtools.fm&#x2F;episode&#x2F;46&quot;&gt;Juan Campa - devtoolsFM episode&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;www.membrane.io&#x2F;blog&#x2F;changelog-0.9&quot;&gt;Membrane Changelog&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;noopener nofollow external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.membrane.io&#x2F;getting-started&#x2F;intro&#x2F;&quot;&gt;Membrane Docs&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;And join the &lt;a rel=&quot;noopener nofollow external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;discord.gg&#x2F;gBK9xP3z&quot;&gt;Discord&lt;&#x2F;a&gt;!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;want-to-help-shape-membrane&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#want-to-help-shape-membrane&quot; aria-label=&quot;Anchor link for: want-to-help-shape-membrane&quot;&gt;&lt;strong&gt;Want to Help Shape Membrane?&lt;&#x2F;strong&gt;&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;We’re looking for developers to try out Membrane and share their feedback!&lt;&#x2F;p&gt;
&lt;p&gt;If you’re interested in participating in user interviews, reach out to me at &lt;a href=&quot;mailto:thomas@membrane.io&quot;&gt;thomas@membrane.io&lt;&#x2F;a&gt;. We’d love to hear your thoughts and help you get started building tools for yourself or for your company.&lt;&#x2F;p&gt;
&lt;aside&gt;Be on the lookout for some updates coming to Membrane...soon you&amp;#x27;ll be able to create UIs with the programs on your graph!&lt;&#x2F;aside&gt;
</content>
        
    </entry>
</feed>
