<?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: Ezekiel</title>
    <description>The latest articles on DEV Community by Ezekiel (@ezekielreu6).</description>
    <link>https://dev.to/ezekielreu6</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%2F3782259%2Fb3b9023f-2895-4afc-9d5e-a894666f595a.jpg</url>
      <title>DEV Community: Ezekiel</title>
      <link>https://dev.to/ezekielreu6</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ezekielreu6"/>
    <language>en</language>
    <item>
      <title>[Boost]</title>
      <dc:creator>Ezekiel</dc:creator>
      <pubDate>Thu, 17 Sep 2026 12:42:31 +0000</pubDate>
      <link>https://dev.to/ezekielreu6/-7c0</link>
      <guid>https://dev.to/ezekielreu6/-7c0</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ezekielreu6/i-got-tired-of-building-backends-for-forms-so-i-built-forx-l6o" class="crayons-story__hidden-navigation-link"&gt;I Got Tired of Building Backends for Forms, So I Built FORX&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/ezekielreu6" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3782259%2Fb3b9023f-2895-4afc-9d5e-a894666f595a.jpg" alt="ezekielreu6 profile" class="crayons-avatar__image" width="800" height="911"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/ezekielreu6" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Ezekiel
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Ezekiel
                
                
              
              &lt;div id="story-author-preview-content-4575034" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/ezekielreu6" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3782259%2Fb3b9023f-2895-4afc-9d5e-a894666f595a.jpg" class="crayons-avatar__image" alt="" width="800" height="911"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Ezekiel&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/ezekielreu6/i-got-tired-of-building-backends-for-forms-so-i-built-forx-l6o" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Sep 4&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/ezekielreu6/i-got-tired-of-building-backends-for-forms-so-i-built-forx-l6o" id="article-link-4575034"&gt;
          I Got Tired of Building Backends for Forms, So I Built FORX
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag crayons-tag--filled  " href="/t/showdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;showdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/tools"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;tools&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/data"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;data&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/ezekielreu6/i-got-tired-of-building-backends-for-forms-so-i-built-forx-l6o" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;5&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ezekielreu6/i-got-tired-of-building-backends-for-forms-so-i-built-forx-l6o#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            4 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>I Got Tired of Building Backends for Forms, So I Built FORX</title>
      <dc:creator>Ezekiel</dc:creator>
      <pubDate>Fri, 04 Sep 2026 14:09:31 +0000</pubDate>
      <link>https://dev.to/ezekielreu6/i-got-tired-of-building-backends-for-forms-so-i-built-forx-l6o</link>
      <guid>https://dev.to/ezekielreu6/i-got-tired-of-building-backends-for-forms-so-i-built-forx-l6o</guid>
      <description>&lt;p&gt;&lt;strong&gt;I Got Tired of Building Backends for Forms, So I Built FORX&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I don't know if I'm the only developer who does this.&lt;/p&gt;

&lt;p&gt;You need a simple contact form.&lt;/p&gt;

&lt;p&gt;So you create the HTML.&lt;/p&gt;

&lt;p&gt;Then you realize:&lt;/p&gt;

&lt;p&gt;“Okay, where does this form data actually go?”&lt;/p&gt;

&lt;p&gt;And suddenly your tiny contact form needs a backend.&lt;/p&gt;

&lt;p&gt;You start thinking about API routes, databases, validation, authentication, email notifications, spam protection, deployment...&lt;/p&gt;

&lt;p&gt;All that.&lt;/p&gt;

&lt;p&gt;For a form.&lt;/p&gt;

&lt;p&gt;That was basically the reason I started building FORX.&lt;/p&gt;

&lt;p&gt;The problem&lt;/p&gt;

&lt;p&gt;Let's say I'm building a portfolio.&lt;/p&gt;

&lt;p&gt;I want a simple form where someone can enter:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Name&lt;/li&gt;
&lt;li&gt;Email&lt;/li&gt;
&lt;li&gt;Message&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's it.&lt;/p&gt;

&lt;p&gt;I don't necessarily want to create a database.&lt;/p&gt;

&lt;p&gt;I don't want to build an API.&lt;/p&gt;

&lt;p&gt;I don't want to deploy another backend.&lt;/p&gt;

&lt;p&gt;I just want the submissions to go somewhere.&lt;/p&gt;

&lt;p&gt;And I realized this isn't only useful for contact forms.&lt;/p&gt;

&lt;p&gt;The same thing applies to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Waitlists&lt;/li&gt;
&lt;li&gt;Feedback forms&lt;/li&gt;
&lt;li&gt;Surveys&lt;/li&gt;
&lt;li&gt;Job applications&lt;/li&gt;
&lt;li&gt;Event registrations&lt;/li&gt;
&lt;li&gt;Portfolio inquiries&lt;/li&gt;
&lt;li&gt;Simple data collection&lt;/li&gt;
&lt;li&gt;Landing page forms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A lot of these projects don't need a full backend.&lt;/p&gt;

&lt;p&gt;They just need a place to send the data.&lt;/p&gt;

&lt;p&gt;So I started thinking:&lt;/p&gt;

&lt;p&gt;What if the backend was already there?&lt;/p&gt;

&lt;p&gt;That's FORX&lt;/p&gt;

&lt;p&gt;FORX is basically forms without the backend.&lt;/p&gt;

&lt;p&gt;You create an endpoint with FORX, connect your form to it, and whenever someone submits the form, FORX receives the data.&lt;/p&gt;

&lt;p&gt;Your architecture can look something like this:&lt;/p&gt;

&lt;p&gt;Your website&lt;br&gt;
     |&lt;br&gt;
     | POST request&lt;br&gt;
     v&lt;br&gt;
  FORX endpoint&lt;br&gt;
     |&lt;br&gt;
     v&lt;br&gt;
Submission stored&lt;br&gt;
     |&lt;br&gt;
     v&lt;br&gt;
   FORX dashboard&lt;/p&gt;

&lt;p&gt;That's the idea.&lt;/p&gt;

&lt;p&gt;No database setup.&lt;/p&gt;

&lt;p&gt;No API route.&lt;/p&gt;

&lt;p&gt;No backend to deploy.&lt;/p&gt;

&lt;p&gt;Just your form.&lt;/p&gt;

&lt;p&gt;The simplest example&lt;/p&gt;

&lt;p&gt;Imagine I have this contact form:&lt;/p&gt;

&lt;p&gt;&amp;lt; form action="YOUR_FORX_ENDPOINT" method="POST"&amp;gt;&lt;br&gt;
  &amp;lt; input&lt;br&gt;
    type="text"&lt;br&gt;
    name="name"&lt;br&gt;
    placeholder="Your name"&lt;br&gt;
    required&lt;br&gt;
  /&amp;gt;&lt;/p&gt;

&lt;p&gt;&amp;lt; input&lt;br&gt;
    type="email"&lt;br&gt;
    name="email"&lt;br&gt;
    placeholder="Your email"&lt;br&gt;
    required&lt;br&gt;
  /&amp;gt;&lt;/p&gt;

&lt;p&gt;&amp;lt; textarea&lt;br&gt;
    name="message"&lt;br&gt;
    placeholder="Your message"&lt;br&gt;
    required&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&amp;lt;/ textarea &amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&amp;lt; button type="submit"&amp;gt;&lt;br&gt;
    Send message&lt;br&gt;
  &amp;lt;/ button &amp;gt;&lt;br&gt;
&amp;lt;/ form &amp;gt;&lt;/p&gt;

&lt;p&gt;Instead of writing my own API endpoint, I point the form's "action" to my FORX endpoint.&lt;/p&gt;

&lt;p&gt;That's basically it.&lt;/p&gt;

&lt;p&gt;When someone submits the form, FORX receives the POST request and handles the submission.&lt;/p&gt;

&lt;p&gt;Your frontend doesn't really care where the backend is.&lt;/p&gt;

&lt;p&gt;It just sends the request.&lt;/p&gt;

&lt;p&gt;Why not just build a backend?&lt;/p&gt;

&lt;p&gt;You absolutely can.&lt;/p&gt;

&lt;p&gt;That's actually the point.&lt;/p&gt;

&lt;p&gt;If you're building something complex, you probably should build your own backend.&lt;/p&gt;

&lt;p&gt;FORX isn't trying to replace that.&lt;/p&gt;

&lt;p&gt;But sometimes you're building something like:&lt;/p&gt;

&lt;p&gt;portfolio.html&lt;br&gt;
landing-page.html&lt;br&gt;
contact.html&lt;/p&gt;

&lt;p&gt;And you just need:&lt;/p&gt;

&lt;p&gt;POST /contact&lt;/p&gt;

&lt;p&gt;You don't want to spend an afternoon setting up infrastructure for it.&lt;/p&gt;

&lt;p&gt;I know I don't.&lt;/p&gt;

&lt;p&gt;I wanted FORX to feel stupidly simple&lt;/p&gt;

&lt;p&gt;One thing I've been thinking about while building FORX is that infrastructure products can sometimes become more complicated than the problem they're solving.&lt;/p&gt;

&lt;p&gt;I didn't want:&lt;/p&gt;

&lt;p&gt;“Welcome to FORX. Before you create your first form, please configure seventeen things.”&lt;/p&gt;

&lt;p&gt;I wanted something closer to:&lt;/p&gt;

&lt;p&gt;Create endpoint&lt;br&gt;
      ↓&lt;br&gt;
Copy endpoint&lt;br&gt;
      ↓&lt;br&gt;
Put it in your form&lt;br&gt;
      ↓&lt;br&gt;
Receive submissions&lt;/p&gt;

&lt;p&gt;That's the experience I'm aiming for.&lt;/p&gt;

&lt;p&gt;But it's not just contact forms&lt;/p&gt;

&lt;p&gt;This is probably the part I'm most interested in.&lt;/p&gt;

&lt;p&gt;FORX can be used anywhere you need to collect data from a frontend without wanting to build the backend yourself.&lt;/p&gt;

&lt;p&gt;For example, imagine you're launching a small project and want to collect emails.&lt;/p&gt;

&lt;p&gt;You could have:&lt;/p&gt;

&lt;p&gt;&amp;lt;  form action="YOUR_FORX_ENDPOINT" method="POST"&amp;gt;&lt;br&gt;
  &amp;lt;  input&lt;br&gt;
    type="email"&lt;br&gt;
    name="email"&lt;br&gt;
    placeholder="&lt;a href="mailto:you@example.com"&gt;you@example.com&lt;/a&gt;"&lt;br&gt;
  /&amp;gt;&lt;/p&gt;

&lt;p&gt;&amp;lt; button type="submit"&amp;gt;&lt;br&gt;
    Join the waitlist&lt;br&gt;
  &amp;lt;/ button &amp;gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Or maybe you're building a portfolio and want people to contact you.&lt;/p&gt;

&lt;p&gt;Or you're making a small survey.&lt;/p&gt;

&lt;p&gt;Or you want to collect feedback from users.&lt;/p&gt;

&lt;p&gt;The frontend stays yours.&lt;/p&gt;

&lt;p&gt;FORX just handles the boring part behind it.&lt;/p&gt;

&lt;p&gt;One feature I really wanted: domain restrictions&lt;/p&gt;

&lt;p&gt;There's also something I think is important when you're accepting submissions from the public.&lt;/p&gt;

&lt;p&gt;You don't necessarily want your endpoint being used by random websites.&lt;/p&gt;

&lt;p&gt;So FORX lets you configure allowed domains for an endpoint.&lt;/p&gt;

&lt;p&gt;That means you can say:&lt;/p&gt;

&lt;p&gt;This endpoint should only accept submissions from my website.&lt;/p&gt;

&lt;p&gt;It's a small feature, but it's one of those things that becomes important once you actually put a form on the internet.&lt;/p&gt;

&lt;p&gt;The developer in me still wanted an endpoint&lt;/p&gt;

&lt;p&gt;I also didn't want FORX to feel like one of those form builders where you're forced into a specific UI.&lt;/p&gt;

&lt;p&gt;Your form can still be completely yours.&lt;/p&gt;

&lt;p&gt;You can use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Plain HTML&lt;/li&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Next.js&lt;/li&gt;
&lt;li&gt;Vue&lt;/li&gt;
&lt;li&gt;Astro&lt;/li&gt;
&lt;li&gt;Svelte&lt;/li&gt;
&lt;li&gt;Basically anything that can make an HTTP request&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;FORX doesn't need to know what your frontend looks like.&lt;/p&gt;

&lt;p&gt;It just needs to receive the request.&lt;/p&gt;

&lt;p&gt;That's what I like about the idea.&lt;/p&gt;

&lt;p&gt;Why I built it&lt;/p&gt;

&lt;p&gt;This project started from one of those “surely someone has already solved this” moments.&lt;/p&gt;

&lt;p&gt;I was thinking about forms and backend infrastructure, and I realized there was an interesting gap between:&lt;/p&gt;

&lt;p&gt;“I need a backend.”&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;“I need somewhere for this form submission to go.”&lt;/p&gt;

&lt;p&gt;Those aren't always the same problem.&lt;/p&gt;

&lt;p&gt;And maybe developers shouldn't have to build an entire backend every time they want to collect a few pieces of data.&lt;/p&gt;

&lt;p&gt;That's basically what I'm trying to solve with FORX.&lt;/p&gt;

&lt;p&gt;Not every form needs a backend.&lt;/p&gt;

&lt;p&gt;Sometimes the backend should just exist.&lt;/p&gt;

&lt;p&gt;FORX is still evolving&lt;/p&gt;

&lt;p&gt;I'm still building it.&lt;/p&gt;

&lt;p&gt;There are a lot of things I want to improve and add.&lt;/p&gt;

&lt;p&gt;I'm also still figuring out exactly how far I want to take the product.&lt;/p&gt;

&lt;p&gt;Because honestly, one of the fun parts of building something from scratch is discovering what people actually use it for.&lt;/p&gt;

&lt;p&gt;Maybe someone will use FORX for a portfolio contact form.&lt;/p&gt;

&lt;p&gt;Maybe someone will use it for a waitlist.&lt;/p&gt;

&lt;p&gt;Maybe someone will do something I didn't even think about.&lt;/p&gt;

&lt;p&gt;That's kind of the point.&lt;/p&gt;

&lt;p&gt;Try it&lt;/p&gt;

&lt;p&gt;If you're building a portfolio, landing page, survey, waitlist, contact form, or basically anything that needs to collect data, you can check out FORX here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://forx.voryn.xyz" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create an endpoint, connect it to your form, and see how it feels.&lt;/p&gt;

&lt;p&gt;I'm especially interested in hearing what you would use it for.&lt;/p&gt;

&lt;p&gt;Because at the end of the day, I built FORX for a pretty simple reason:&lt;/p&gt;

&lt;p&gt;I don't want to build another backend just to receive a form submission.&lt;/p&gt;

&lt;p&gt;And maybe you don't either. 🦊&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>tools</category>
      <category>data</category>
    </item>
  </channel>
</rss>
