What We Did
There were several important requirements for the lead capture form. The form needed to be accessible by all web users, so that was made a high priority. There needed to be a good balance between gathering enough information and not being burdensome, so considerable attention was paid to the number of steps on the form and to ensure that only information that added customer value were included.
To achieve a high-quality user experience, we pored over numerous technical details in designing the application. We needed user progress to be saved as they completed the form and to provide a frictionless ability to pick up where they left off later or on a different device— all without requiring account creation. We accomplished this by submitting each step to the backend and asking the user for some additional information on their move that only they would know. Then we created logic to detect abandoned forms and email the user a link to restore their progress. Once the user validates some of the extra information on their move, they are able to continue entering their data.
Because of the sheer number of users filling out the form, submitting each step to the server along the way, we chose a serverless backend that would automatically scale to handle usage. We also chose the MongoDB NoSQL document storage so that the data could easily translate between the front-end and the back-end. The NoSQL approach works well for this instance as there are quite a few variations of the form data, depending on the services that users desire.