<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Yass1n</title>
    <description>The latest articles on DEV Community by Yass1n (@yass1n).</description>
    <link>https://dev.to/yass1n</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4118236%2Fae1fae14-3d9d-4e16-96ed-1d99fca24ec8.png</url>
      <title>DEV Community: Yass1n</title>
      <link>https://dev.to/yass1n</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yass1n"/>
    <language>en</language>
    <item>
      <title>Got tired of rewriting Express boilerplate, so I built a zero-config alternative</title>
      <dc:creator>Yass1n</dc:creator>
      <pubDate>Wed, 09 Sep 2026 22:23:01 +0000</pubDate>
      <link>https://dev.to/yass1n/got-tired-of-rewriting-express-boilerplate-so-i-built-a-zero-config-alternative-1dil</link>
      <guid>https://dev.to/yass1n/got-tired-of-rewriting-express-boilerplate-so-i-built-a-zero-config-alternative-1dil</guid>
      <description>&lt;p&gt;Juggling client contracts and building full-stack applications means spinning up new backends constantly. But manually wiring up Express routers, configuring JWT authentication, and setting up Zod validation for every single project was completely destroying my momentum. &lt;/p&gt;

&lt;p&gt;I wanted the seamless developer experience of Next.js, but for a standalone Node API. Since nothing quite fit the bill, I built &lt;strong&gt;bro.js&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It is a zero-boilerplate engine wrapper around Express that handles the tedious infrastructure out of the box, letting you focus entirely on your logic.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;File-Based Routing:&lt;/strong&gt; Just drop &lt;code&gt;[id].get.js&lt;/code&gt; into your routes folder, and the endpoint is instantly live.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Built-in Zod Validation:&lt;/strong&gt; Pass a schema to the route definition, and the framework automatically rejects bad requests with a 400 error.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native WebSockets:&lt;/strong&gt; Socket.io is pre-configured and injected directly into your route context (&lt;code&gt;ctx.io&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auto-Generated SDKs:&lt;/strong&gt; Run &lt;code&gt;bro sdk&lt;/code&gt;, and it compiles a typed client SDK perfectly formatted for your frontend.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can boot a new environment instantly right from your terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx create-bro-framework@latest my-api
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I would love for the community to try it out and roast the code. You can &lt;a href="https://brojs.yessindevs.me" rel="noopener noreferrer"&gt;check out the documentation here&lt;/a&gt; or drop a star on the &lt;a href="https://github.com/medyass1ne/bro.js" rel="noopener noreferrer"&gt;GitHub Repo&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>backend</category>
      <category>javascript</category>
      <category>node</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
