Custom Features
Created/Implemented
Part 1
Secure Gated Form
At Twenty Over Ten, we try to accommodate many different requests for custom features. One thing that we implement is a fake password-protected page for gating content. The way it works is code is added that checks the password input against a string that contains the password. The solution isn't actually password protected because you won't know the password or location unless you look at the code.
During my time there, I learned more about authentication and encryption in a course I was taking. I decided to use what I gained to create a better form. The solution I came up with uses sha256 and AES to store the encrypted password and location within some hidden fields in the form. It first works by encrypting the password using sha256, and then it stores that info in the form. The form uses AES to encrypt the location with the encrypted password and also stores that in the form. For the form to go to the location, you need to decrypt it by first entering the password, and after that is encrypted, it can reverse the AES location encryption. The password you enter is encrypted and then compared against the stored encrypted password.
I also made the solution user-friendly by creating a password and location updater, and a location viewer.
Google UTM Tracking Codes
Another custom solution I worked on was for a client who was utilizing UTM tracking codes. UTM tracking codes are used to provide data about the way a client arrives on your site. Such as if they came from a social media post or an ad. The client could capture this data in his google analytics account, but information about whether a client filled out a form was not being tracked. So he requested that we add this data to form submissions so he could better use it.
To implement, I created some code that captured the data from the URL and then added hidden fields to his form. At this point in time, I was learning about Javascript closures, so I was able to use my knowledge to return a function that remembered common data used during each call. I also included some regex to prevent XSS attacks.

Count To Element
One of the early projects I worked on was for a client who had some key data highlights he wanted animated. He asked that we implement a scroll effect that would count up to a number when in view.
I was able to create this feature by using jQuery animations to count up to a number over a period of time. I also added some custom code for the scroll feature.

The client was happy with the result and, over half a year later, is still using the feature.