DEV Community

Cover image for 3 Months, 96 Signups, and 2 Paying Customers: What I Learned Building Formgrid in Public
Allen Jones
Allen Jones

Posted on

3 Months, 96 Signups, and 2 Paying Customers: What I Learned Building Formgrid in Public

Three months after launching Formgrid, I got my first paying customer.

That sentence looks simple. It wasn't.


What Formgrid Does

Formgrid is an open-source form backend and form builder in one place.

If you're a developer building a static site, portfolio, or landing page, you already know the pain. Your HTML form looks great, but you have no way to actually receive the submissions without spinning up a server.

Formgrid solves that with one endpoint URL:

<form action="https://formgrid.dev/api/f/your-form-id" method="POST">
  <input type="text" name="name" required />
  <input type="email" name="email" required />
  <textarea name="message"></textarea>
  <button type="submit">Send</button>
</form>
Enter fullscreen mode Exit fullscreen mode

Point your form at it. Receive submissions in your inbox. Spam protection, email notifications, file uploads, and CSV export are all included. Self-hostable with Docker. Fully open source under the MIT license.

But that's only half the story now. More on that below.


The First Three Months

I launched quietly. No Product Hunt. No big announcement. Just posted on DEV.to, shared on GitHub, and let it grow organically.

Signups started coming in slowly at first, then steadily. By month three, I had 96 signups.

And 0 paying customers.

Classic early SaaS. People sign up. People explore. People leave.

I kept building. Added features I thought people wanted. Tweaked the dashboard. Improved the API. None of it moved the needle on conversions.


The First Paying Customer

Then someone upgraded.

He had been on the free plan for a while, processing form submissions for his business. When he hit 47 submissions, close to the 50/month free limit, he decided to upgrade instead of switching to something else.

There was a small activation issue on my end when he upgraded. Instead of asking for a refund, he emailed me:

"It's a wonderful and cost-effective product and is working very well for me."

I fixed the issue the same day. That message meant more than the $8.

He wasn't buying features. He wasn't buying a pricing page. He was continuing a value he was already experiencing. The free plan had already solved his problem well enough that paying felt obvious.

That taught me something I hadn't fully understood before — people don't upgrade because of a pricing page. They upgrade because the product is already solving a real problem.


What Happened Next

A second user upgraded this month.

Same pattern. Heavy free plan usage. Hit a limit. Upgraded because the product was already working for them.

Both customers came organically. No ads. No cold outreach at that point. Just people finding Formgrid through Google, DEV.to, and interestingly, Perplexity AI search. One user told me he found Formgrid by asking Perplexity for alternatives to another form service that had changed its pricing.

That was the moment I realised AI search tools were already sending me users I hadn't done anything to earn.


The Problem I Almost Missed

While all this was happening, I was only serving half my potential users.

Formgrid was built for developers. Endpoint URL, HTML forms, API calls. That's the language I spoke and the product I built.

But a lot of the people signing up weren't developers. They were small business owners, training institute founders, people who collected internship applications or course inquiries. They signed up, hoping Formgrid would solve their form problem, and then saw "endpoint URL" and left.

They didn't need an endpoint. They needed a link they could paste into WhatsApp or any other social media platform.

So I built a form builder on top of the existing backend.


Formgrid Now: Form Builder and Form Backend in One Place

Formgrid now has two modes:

Form builder: drag and drop fields, get a shareable link instantly. Share it on WhatsApp, email, or your website. No code needed. No hosting. No deployment. Just a link that works.

Form backend: point any HTML form to your Formgrid endpoint URL. One line. Submissions, spam protection, and email notifications handled.

Both use the same submissions dashboard. Both send email notifications. Both have spam protection built in.

This is the gap I found in the market. Typeform and JotForm give you a form builder, but no way to use your own HTML form. Formspree and Getform give you a form backend but no form builder. Formgrid does both for $8/month.


Current Snapshot

  • 100+ organic signups
  • 2 paying customers
  • 22 GitHub stars
  • Processing 10,000+ submissions monthly
  • Built with TypeScript, Node.js (Express), PostgreSQL, and React

Formgrid Dashboard:

What I'm Focused on Next

Improving activation: My biggest learning from talking to users is that people miss features that already exist. Email notifications, spam settings, and the form builder. Users sign up and never find them. Better onboarding fixes this without building anything new.

SEO and content: Formgrid is already showing up in AI search results unprompted. Doubling down on content means more of that passive traffic over time.

Outreach — talking directly to the businesses that need this most. Training institutes, small business owners, anyone collecting applications or inquiries at volume.

Integrations: Google Sheets, webhooks, and Zapier are on the roadmap for users who want to automate what happens after a form is submitted.


What Three Months of Building in Public Taught Me

Real usage beats vanity metrics. 96 signups felt good. 2 paying customers felt real. One customer who says "it's a wonderful product" is worth more than 1,000 signups who never come back.

Talk to your users earlier than you think you should. I waited three months. I should have emailed the first 10 signups on day one.

Build for the users you have, not the users you imagined. I built Formgrid for developers. Half my signups weren't developers. The form builder exists because I finally listened.

The free plan is your best salesperson. Both paying customers converted after heavy free plan usage. They didn't need convincing — they needed capacity.

It took 3 months to get the first paying customer. But I'd rather have 2 customers who genuinely love the product than 200 who signed up for a discount and churned.

Building in public. Onwards.


If you're building something similar or have feedback on Formgrid, drop it in the comments. I read everything.

👉 formgrid.dev
👉 github.com/allenarduino/formgrid


Tags: #showdev #webdev #opensource #saas #buildinpublic

Top comments (0)