Contact form & email deployment project

(Jon) #1

I think that folks here might be interested in my current tech project. Since I am still a contractor, I am taking a voluntary break from full-time client work to build my own software, with the hope of turning something into an income stream.

Some of you may recall that I was building a recruitment search engine. I very much believe that idea still has legs, but I wonder if I bit off more than I could chew, so the idea is postponed a bit while I build something rather simpler. I am minded presently to build something in three months, rather than committing to something that could take substantially longer. :blush:

My current project was inspired by one of the most common difficulties I see on Stack Overflow - beginner programmers trying to develop and deploy simple email-based forms on a LAMP server. That ought to be the easiest thing in the world, but email is a bit of a “black box” - you use a program to send an email, and then try to debug it. Did the mail() function get called? Were the parameters correct? What PHP system did it talk to to hand off the mail? Sendmail? SMTP? What special idiosyncrasies does your terrible consumer-grade host suffer from when it comes to sending email? Has it got caught in a spam trap? etc.


So, I am building a little system to help with that. It presents a web-based wizard-style interface to take a bunch of details, and then deploys a working and tested email form on the user’s server. You can even sign up for a completely free LAMP host these days, so I’m using one of those as a test bed.

My system works by allowing the user to deploy a sequence of test scripts to check the system meets the minimum server requirements, what email sending protocol to use, and then finally deploy a real app and send a test message to it. My intention is for the base system to always be free, and then to charge for add-ons.

The basic system will allow users to send an email to an admin address, and another email to the user, customisable in a text-based designer. The deployed form will have a number of fields, and optionally a CAPTCHA device. Upon clicking a button it will call the freshly deployed script via AJAX to send the email(s). It’ll add a rate-limiter too, to stop spammers having a field-day.

My intention is that once users are happy with their basic system, they can use it as a base to hack upon further if they wish.


So, that’s the free stuff. I’ll run that for free for a few months and open a dialogue with users to see what they want. I think people would pay £5 for a MailChimp/CRM integration, and the same for a WordPress plugin. A “pro” account for WordPress designers, so they can log into my system and it remembers all their client’s deployment details/choices, might also be worth looking at.

I am as yet undecided if my best pricing model is low-cost, high-volume, or whether I should be choosier about by customers and work on a higher-price model.


I’m a good way through the project, and it’s fun to build. I’m using a micro-services architecture, everything is split into Docker containers, and I’m using cool new stuff like Traefik. It’s just managed with Docker Compose for now, but I guess I will move to Swarm or Kubernetes once I have worked out what my deployment needs are. The front page is a SPA (jQuery, tell me off now) and mostly uses Web Sockets to communicate. I’ve not used WS before, but I :heart_eyes: love it. Pushing data to a web app, supported across desktop and mobile!

I wish I knew how to get user feedback without actually building stuff - I am rather envious of the cool kids in San Francisco who put up a holding page, somehow attract an email list of several hundred people based on nothing more than vapourware, and then build the damn thing in a week! So this post is partly my expressing interest in critical feedback.

Is there a market for people paying for automated deployments? Would beginners struggling to build stuff rather struggle on and learn, and suffer the security consequences? Would the culture of everything-for-free trip me up, and people would only use the free tier? Would people trust my system with their server credentials? Any thoughts welcome.

Happy New Year - what are your resolutions?
(Andy Wootton) #2

@halfer I’ve only read your message once, as most people will, and I don’t understand what this email/form use-case is. Obviously other people might.

If someone is trying to learn to program then I think they are either:
a) learning out of necessity because they can’t afford to pay or don’t understand that programming is hard. Writing code is a means to a different end. These seem like your potential customers but they may not have any money, or
b) want to know how to program and this is an exercise, in which case they seem likely to want to do the whole job, or at least be helped to understand everything that’s going on.
I think they might be 2 different versions of the problem.

(Jon) #3

That’s a good point, and of course I need to understand my users. Whilst I mentioned folks who are learning, I get the impression they’re learning as a means to an end, rather than because they want to be software engineers. For example, there’s plenty of HTML designers and WordPress hackers who aren’t programmers (and don’t much wish to be either) but they have to dabble in email sending on LAMP servers because their clients ask them to.

Anecdotally, I notice a lot of these folks are in India, which may influence pricing decisions. However, where I will get my customers from, after I set up an advertising campaign, is yet to be discovered.

(Dom Barnes) #4

Sounds a bit like FormKeep+Sendgrid?

(Jon) #5

I’d not heard of that, but yes, it sounds similar to FormKeep. However I’d say their target market is design agencies, and theirs is a hosted service - which will set the payer back USD59/month on the low tier - ouch!

The starting point for my service is free, since it is self-hosted. I’m planning for the build wizard in mine to be public too, though it needs a verified email to take it to deployment.

Thanks for the tip though, will add it to the research pile!

(Stuart Langridge) #6

I may be missing something here. But your target user is someone who doesn’t know how to set up their email sender, but does know how to deploy docker containers and already has hosting where they can deploy them?

On first read I thought it was, y’know, a PHP thing to drop onto convenient shared hosting, and I can absolutely see it as useful there! (Especially if it tries out a bunch of stuff and tells me “to set this up, do this”.) But I’m not sure how big the demographic you’re aiming at actually is, unless I’m misunderstanding…!

(Jon) #7

Heh, sorry - probably just my poor description. Everything is automated for the user - the Docker stuff is how the code on my server works (just getting excited over shiny tech). They don’t see that, and what is deployed for them is a great deal simpler - basically they just get a LAMP application.

All the user needs is a usernames and passwords for their host and a bunch of other stuff they enter into a wizard. They do need sufficient nous to know they need a web host, of course, but if a user can’t cope with that, they probably need a cloud solution, like the one Dom refers to.

As for signing up for a host, there are free ones around, so it takes a couple of minutes and no payment card is needed.

Yeah, I’m going on a bit of hunch! I see this problem a fair bit, but I am not sure how I would quantify it yet.

(Jon) #8

Folks here may be interested in my progress on this project, and to see what an early incarnation looks like before feedback and alpha testing. The frontend is organised into a wizard-style UI, and the user needs to step through most screens in order to complete it.

Here’s an automatically-stitched-together image output by my integration tests (the control rendering is a bit rudimentary, that’s PhantomJS for you):

I’m about 90% done on the wizard and the deployable LAMP app is rather “early days”. The first version will not have paid options while I work out what users want (custom form validation? JS-only frontend with PHP server API? easy templating for non-devs? integration with MailChimp/CRM? etc).

I expect it will be a month or two before I can ask folks to kick the tyres on a real web app, but getting there…

(Jon) #9

I am quite excited that this project is nearly ready to unveil. Over the last week (while ostensibly on holiday!) I have been writing some documentation - past projects I have been involved with have left alpha testers a bit in the dark because I’ve not offered enough help to get them started.

A last minute walk-through has, of course, revealed a number of UI hiccups. I will fix those over the next couple of days, and then I shall be very grateful if any folks would be willing to kick the tyres for me. You’ll need a web server account on a shared/dedicated LAMP host (the free host linked in a post above is fine) and an SMTP account as well. Established folks on this board can PM me for an SMTP account, if you don’t have a low-value one to hand.

Sendmail is supported as an alternative to SMTP, but free hosts don’t tend to support the PHP features that make using it possible. So, if you have a PHP hosting account with Sendmail, I’d love to know how you get on. I will see if I can find a free host that supports this.

Watch this space! :persevere: :smiley: :nerd_face: :drum: