A bit of info about this website.

This site is running of the free tier of Google App Engine, which suits the need for this simple site quite nicely.

It's built using python, using Flask and some other smaller modules. I'm using the Application Factory Pattern for the structure of the Flask app.

As for the actual code itself, around 90% of it is written by me, with some help from Stackoverflow in some cases. For my previous jobs I created a couple of apps for our agents to be able to view metrics for themselves, which was only available to management previously as there was no way to only show data for a specific agent. I applied quite a bit from what I learned during the development of those apps to this app.

I've added simple Google OAuth2.0 logic, first to stop the spam I was getting from the contact form, and when this was in place I expanded it to the résumé section to only show my personal details once the user is logged in. In the apps I mentioned above, I used an Identity Aware Proxy in front of the App Engine app to limit access to our employees, and to figure out who was accessing the app so I could show them only their data. Management had access to the data for all employees of course. Since that level of checks was not needed for this app, I chose a simple OAuth2.0 process instead.

Github is used as source control, in a private repo. Development was mostly done on a Ubuntu machine.

For the actual design I followed DesignCourse's examples on Youtube. This greatly helped me improve my HTML/CSS skills. The mobile-first design strategy that this channel emphasizes enabled me to make sure this website functions on any modern device, be it mobile, tablet or PC.

As for the login, this is just a way to prevent bots from getting my personal data easily. The email address is not stored. If you send an email using the CONTACT option, I will use the email address associated to your Google account as a recipient.

You can find my privacy policy here: PRIVACY