I am getting more and more interested in static websites as I am following the developments in the JAMSTACK space. I have covered in previous articles some of the benefits of having a static site, such as better performance, easier scaling, cheap hosting to name a few. In this article, I wanted to share a few thoughts based on my latest experimentation and implementation.
I recently helped a family friend to update his company website, a simple site with 5 pages, one of them being a contact page with a form. Since I have been using Netlify for a few years now and the previous version of his site was already hosted there, I decided to use Netlify Forms to manage the contact form. Implementation is pretty straightforward as it only requires adding an attribute (
netlify) to the
<form> tag to get started. One can then play with some additional options as well to customize it a bit more, redirecting to a specific page when the form is successfully submitted or adding a honeypot to limit spam further. Notifications can be sent to different email addresses when a form is received and entries are saved in Netlify as well.
One limitation that I found there, and that I was not really found of, was the fact that the notification email includes
[Netlify] in the subject of the email. This is even added when customizing the notification subject. This is not a deal breaker and there are options to bypass this, such as using zapier to customize notification further and avoid the confusion for the website owner receiving the email. But this experience got me curious and I started to search for “form as a service” options that were available out there.
I was not disappointed! There are quite a few solutions available, here is the top of the iceberg (in no particular order) as I am writing this post:
The features and pricing models are quite different across all those applications: free tier might or might not be available, base pricing is sometimes based on the number of forms, or number of submissions, or a combination of both. In short, I would need to look into more details based on my specific need to see what would be most appropriate and for the specific use case that I was relating above, this is not necessary at this time. But I am quite sure that this will be relevant in a near future so I am keeping this list handy as a starting point.