UNITY SEARCH PORTAL
Unity Investment deals in real estate. They have been helping landowners sell their land for more than 20+ years. They wanted to ease the final stage of the purchase process for their customers.
Project Goal:
The goal of this project was to decrease the time and hassle of the landowners which they go through in order to sell their land. Now the customer can directly search their details with their parcel ID, site_address or by their name. They can verify their details and submit a simple form and they will get the offer for their property and the purchase agreement will be sent in their mail.
Project Scope:
This project was different from what we normally do and challenging as well. The major challenges were:
- We had never worked with pandadoc.
- HubSpot API response time was about 7-8 sec.
- We had to create a complex form with a lot of dependent fields.
- Countdown timer in emails.
Project Methodology:
Methodology:
We planned using waterfall methodology but after Phase 1 we had to switch to agile methodology because the approach was changed by the client. So we were discussing and developing together.
Tools and Technologies:
We used HubSpot CRM as a database, node.js for our back-end and HTML,CSS and JS for the front-end. To store sour API keys and methods we used AWS EC2 instance.
Project Phases:
Initially the project was pre-planned and designed by the client and we just had to develop the portal. So we divided the development into 4 phases, which were Setup, Assets, Agreement Generation and QA. But as we moved further into this project the approach was changed and we had to redo a few things. We started developing and getting it reviewed by Malena Torrisi so if there were any changes we would do it right then and there.
Phase 1:Setup:-
We started by setting up some basic things like branding guidelines, AWS server and a secondary domain for the api calls as the main domain was not connected in the AWS instance.
Phase 2:Assets:-
After setting up we started creating assets like emails and modules. We needed 4 emails , 4 pages and 4 modules but as we reached the end we needed to add 1 more page and a module due to change in approach.
Phase 3:Agreement Generation:-
In this step we integrated HubSpot and Pandadoc but we can’t do a simple native integration because our requirement was a little too complicated. So we went with custom integration which was a challenge in itself.
Phase 4:QA:-
We were doing QA as we were moving forward so we can pin point the bug and issues.
Steps:
The approach of this project has 2 variations. Let's start with the 1st approach.
Step 1:-
In this approach we were searching in the deal object previously it was the contact object. So the user will come to the Search Page where they will search their details as mentioned earlier and then they will select the option from the dropdown. But not all the users will be redirected to the next stage. There are few conditions:
- Their details are present in HubSpot.
- If their Lead Status New property is not ‘DNC SMS’. Basically it means the user has opted to not to be contacted.
If a user does not meet these criteria they are redirected to the signup page where they can sign up and one of the Unity representatives will contact them. Rest will go to the next stage.
Challenge:
There was a big challenge here: the normal HubSpot response time was 7-8 seconds. We can only get 4-5 requests per seconds so if a user searches their name it will take 7-8 seconds after the last key stroke.
Solution:
We solved this problem by reducing the API hit per second so rather than sending 4-5 requests per second we did 1 request per second. This reduced our response time from 7-8 seconds to 1 second.
Step 2:-
Now as soon as the user selects itself from the drop down and matches all conditions we will check for the primary contact which is associated with those details and then we will fetch all the associated deals and will show them on the next page separated by cities. Then the user will select on which property they want to sell. There were no major challenges here.
Step 3:-
The third step is the INFO FORM. Here users will fill a form which is divided into 3 sections: Property Information, Ownership & Preference and Personal Information.
Property information is based on the number of deals users want their offer so if a user has selected 2 deals then there will be two property information sections, one for each deal.
The fields have a lot of dependent fields which are based on a lot of conditions like if there are multiple owners, if yes then how many. Any owner has passed or not, etc.
Challenge:
Making fields dependent because there were a lot of other functions which are also dependent on those fields so it can break the script.
Solution:
We changed our whole script. We used event listeners to check where the user has clicked and what field should it impact and wrote dynamic functions.
Step 4:-
The last step is where a lot of processing happens. As soon as a user submits the form all these details are sent to HubSpot in their respective properties then from HubSpot we fetch necessary details and send them to Pandadoc. As panda doc gets a response it chooses the correct template for the agreement and creates a document with that template with all the information it got from HubSpot. The selection of template for the agreement is based on the user inputs.
After the agreement is generated the user gets a mail with that agreement and we fetch its url to again store it in the HubSpot. This all happens at the server side.
At the front-end a simple loader animation is shown till the process completes and after that user is redirected to the Thank you page where they get their offer with a valid through date which is 8 days after the agreement has generated and a CTA ‘SIGN PURCHASE AGREEMENT’ which contains the agreement url so if the user want they can sign it right their.
There was also another scenario. If all the owners has passed away then we will not show the offer instead a message will be shown with all the owners name saying a representative will contact them.
Challenge:
Here the main challenge was to decrease the whole processing time.
Solution:
We did this by using a server in the middle so all the data submitted by the user will go through that server and we will send them where they are needed and only fetch only data which is required.
Conclusion :
In conclusion, this project successfully streamlines the land selling process for landowners by eliminating the complexities and time-consuming steps typically involved. By providing an easy-to-use platform where customers can quickly search for their property using a parcel ID, site address, or name, landowners can now access their property details, verify information, and submit a simple form for an offer. The convenience of receiving an immediate offer and a purchase agreement directly via email enhances the overall user experience, making the process faster, more efficient, and hassle-free. This solution not only saves valuable time for landowners but also simplifies the entire transaction, benefiting both the customer and the property buyer.