Back-end web development
I’ve been specialised in the LAMP stack for many years and have developed countless websites and web applications in PHP since the year 2000. Currently, my main PHP framework is Laravel.
Play Framework (Scala)
Over the last few years I have started to build more and more with Play Framework – non-blocking and multi-threaded for super fast and highly scalable web services and APIs.
MongoDB is the world’s most popular non-relational database (“NoSQL”). Depending on your project, MongoDB may be an alternative to consider, e.g. for storing objects with a varying structure or geographical searches.
Historically, MySQL is by far my most used database due to its huge support in frameworks, on various hosting environments and it’s used by so many developers. It provides a fixed, reliable structure.
Security and stability
Security and stability is a main focus whenever I develop back-end code. A very good understanding of how the web works enables me to prevent many weaknesses that otherwise may sooner or later become a problem or even a target for attacks.
Using a web application in development and having it in production are two very different scenarios. That’s why I consider efficiency whilst coding with heavy server load in mind to lower bandwidth, memory and CPU load so your application responds faster and lowers server cost.
Front-end web development
Responsive web design
In most cases I recommend a mobile first approach to develop the front-end of your site. This means in short, a more minimalistic page is built which will be enhanced progressively for clients and devices with larger screens and more capabilities instead of building separate versions for different devices.
Search engine optimisation
Some companies make customers believe SEO is something that can be added with a few clicks. My HTML code and URLs are well structured and a good starting point, but trust me, the number one factor for a top ranking is good content. Contact me for advice.
Uploading the files of a website via FTP is so last decade. Whilst encrypted file transfers are the bare minimum, nowadays I recommend for almost any web software project a workflow that involves a high level of automation.
Continuous integration (CI) and continuous deployment (CD) setups make sure that updates can go live quickly and safely.
I have experience with various tools and setups. This Cloud Under website, for example, consists of three main parts: a main back-end web application, a front-end and a blogging service. A push to the Git repository of one of those components triggers automated tests and builds in the cloud. After a final review, the updated component is then automatically packaged as Docker image, pushed to a private registry and Amazon EC2 Container Services (ECS) is updated, which will deploy the new version. Service discovery will then automatically reconfigure Nginx and route traffic to the new services.
Even the AWS server infrastructure itself can be deployed and updated with simple triggers.