DEV Community

Cover image for I Built a Form Backend in a Weekend Because Paying $20/Month for Contact Forms is Stupid
Varshith V Hegde
Varshith V Hegde Subscriber

Posted on

I Built a Form Backend in a Weekend Because Paying $20/Month for Contact Forms is Stupid

So here's the thing - I was helping my friend set up his portfolio site last weekend. Everything was going smooth. Nice design, fast site, Vercel hosting on the free tier. Perfect.

Then he goes "I need a contact form."

Cool, I say. Just use one of those form backend services. Easy.

He checks the pricing. "$20 a month?! Just to save some text?"

And honestly? He's right. When did we all just accept this?

This got me thinking

We're paying Netflix money for what's basically a database insert and an email. That's it. Store some text, send a notification.

I spent more time being annoyed about this than I'd like to admit. Then I figured - you know what, I can probably build this myself. How hard can it be?

What I built

FormRelay

FormRelay is pretty straightforward. You point your HTML form at it, it saves the data, sends you an email, and shows everything in a dashboard. That's the whole thing.

The difference? You host it yourself. Your Supabase database. Your Vercel deployment. Your data.

And the best part? Supabase free tier gives you 50k users. Vercel hobby plan is free. Resend gives you 3k emails free per month.

So yeah. $0/month vs $20/month. You do the math.

"But isn't self-hosting complicated?"

This is what everyone says. And look, 10 years ago? Sure. You needed to know server management, deal with security updates, all that stuff.

But now? With Vercel and Supabase?

  • Fork the repo
  • Click deploy
  • Copy paste some environment variables
  • You're done

Took me longer to write the README than it takes to deploy this thing.

Compare that to creating yet another account, entering your credit card, dealing with their dashboard, hitting some arbitrary limit, and then having to migrate everything when they raise prices next year.

Which one sounds more complicated?

Here's where I might lose some of you

I think we've gotten too comfortable renting everything.

The whole indie web thing used to be about actually owning your stuff. Yeah, it was messier. Yeah, you had to learn things. But your website was yours.

Now? We just subscribe to everything. And sure, time is money, I get that. Not everyone wants to deal with infrastructure.

But there's this huge gap between "run your own server rack" and "pay someone $300/year to store contact form entries."

That's the gap I'm trying to fill here.

Random things I learned

Next.js 15 is actually good now. After all the App Router drama, it finally feels right. Server actions just work. No more fighting with it.

Supabase is wild. Real-time updates, auth, and actual good documentation? Sign me up.

The hardest part wasn't the code. It was making the setup instructions clear enough that anyone could follow them. Spent way too long on that.

About the email thing

I used Resend because my domain didn't come with email when I bought it, and I wasn't planning to buy email hosting separately. Resend's free tier (3k emails/month) was perfect for this.

But here's the thing - if you already have email with your domain, you can just swap Resend for regular SMTP. It's actually simpler in some ways. Just plug in your SMTP credentials and you're good to go.

So even that "dependency" isn't really a dependency. Use what you've got.

Tech stuff if you care

  • Next.js 15 (app router)
  • Supabase (postgres + realtime + auth)
  • Tailwind CSS
  • Radix UI
  • Resend for emails (or just use SMTP if you have it)
  • Lucide icons

Nothing fancy. Just stuff that works and doesn't break.

You can use it

Whole thing's on GitHub: github.com/Varshithvhegde/formrelay

Live demo: formrelay.varshithvhegde.in

It's MIT licensed. Do whatever you want with it. If you find bugs, let me know. If you want to add features, PRs are open.

The actual point

This isn't really about forms or saving money.

It's about remembering that we can actually build stuff ourselves. We don't need a SaaS product for every little thing. The tools are there. The platforms are free. We know how to code.

A lot of problems that cost $20/month are actually just weekend projects in disguise.


Quick note: Yes, I know SaaS companies provide value. Support, maintenance, features, etc. But for something as basic as form handling? Come on.

Top comments (0)