Fershad Irani's Blog I am writing about my experiences as a naval navel-gazer. 2021-09-12T16:00:00.000Z https://fershad.com/ Fershad Irani itsfish@fershad.com Stress testing site performance 2021-09-12T16:00:00.000Z https://fershad.com/blog/posts/undefined

As developers, we're normally building and testing websites on devices with decent specs, so testing how your site performs over a slow network or on a low-powered device is one way to help ensure real world performance.

Quick Performance Audit - Taiwan COVID Vaccination Website 2021-08-30T07:30:00.000Z https://fershad.com/blog/posts/undefined

Taiwan's COVID-19 vaccination website is integral to the government's vaccine rollout plans. This post is a quick website performance audit of the site.

Proxying AWS S3 content with Cloudflare Workers 2021-08-15T16:00:00.000Z https://fershad.com/blog/posts/undefined

Using resources hosted by a third-party can seriously hurt website performance in a few ways. In this post, we'll cover how you can use a proxy to reduce the performance impact when hosting content in AWS S3 bucket.

Proxying Cloudinary image requests with Cloudflare Workers 2021-08-03T16:00:00.000Z https://fershad.com/blog/posts/undefined

Using resources hosted by a third-party can seriously hurt website performance in a few ways. In this post, we'll cover how you can use a proxy to reduce the performance impact when hosting images on Cloudinary.

Building a fast, sustainable personal website 2021-07-04T16:00:00.000Z https://fershad.com/blog/posts/undefined

This case study explores the design and development decisions I made when redesigning my personal website. These decisions help to deliver perfect Lighthouse scores and improved website sustainability.

Frontend tips to speed up your WordPress website 2021-06-27T16:00:00.000Z https://fershad.com/blog/posts/undefined

WordPress powers over 40% of the internet. It's a powerful platform that makes content creation possible for more people. In this post we'll cover some simple performance optimisation tips you can use to make your WordPress website faster!

Dynamic page content with Cloudflare Workers 2021-05-23T16:00:00.000Z https://fershad.com/blog/posts/undefined

A brief guide on how Cloudflare Workers can allow you to add random content to your website without client-side JavaScript.

Readle - App Optimisation & Consultancy 2021-05-17T16:00:00.000Z https://fershad.com/blog/posts/undefined

Having worked primarily on website performance, the chance to work on Readle's native mobile apps was a new challenge. Here's how we improved app speed and delivered greater user satisfaction.

An introduction to optimising web fonts 2021-05-13T16:00:00.000Z https://fershad.com/blog/posts/undefined

A brief introduction to some of the key considerations and techniques to keep in mind when optimising fonts for the web.

This website is a FLoC-free zone 2021-04-17T09:38:07.525Z https://fershad.com/blog/posts/undefined

I switched analytics away from Google late last year. Now, I've also added response headers that will exclude this site from FLoC calculations too.

The environmental case for website performance 2021-03-31T16:00:00.000Z https://fershad.com/blog/posts/undefined

What's the link between a faster website and climate change? In this post I'll explain how you can help the environment by focusing on website performance.

CSS can probably do that 2021-03-08T16:00:00.000Z https://fershad.com/blog/posts/undefined

Rather than immediately reaching for JavaScript to handle on-page interactions, why not stop and think Could CSS do that? You'd be surprised, it probably can.

Google Analytics Alternatives 2021-03-05T07:30:00.000Z https://fershad.com/blog/posts/undefined

There's an increasing number of privacy-focused alternatives to Google Analytics. This article covers a few options you can use to keep your website visitors information out of the hands of digital advertisers.

A simple introduction to HTML resource hints 2021-02-23T16:00:00.000Z https://fershad.com/blog/posts/undefined

An easy-to-follow introduction to the different resource hints available to help improve web page performance.

Optimising embedded content 2021-01-20T16:00:00.000Z https://fershad.com/blog/posts/undefined

Embedding content from Twitter or YouTube is pretty commonplace these days. However, the code these services provide isn't always the most optimised. Here we'll look at a few ways you can optimise pages on your websites that have Twitter/YouTube content embedded within.

Web icons in 2021 2021-01-06T16:00:00.000Z https://fershad.com/blog/posts/undefined

This post is taken from Optimised, the fortnightly web performance newsletter I run. In it we look at the different options that you can consider, and why you really should be using SVG in 2021.

Core Web Vitals and Google Search 2020-11-26T16:00:00.000Z https://fershad.com/blog/posts/undefined

Core Web Vitals are a set of page experience metrics that will be making up part of Google's the search ranking mix from June, 2021. So, what exactly are they?

Lazy-loading embedded iframes 2020-10-21T16:00:00.000Z https://fershad.com/blog/posts/undefined

Lazy-loading iframes can lead to data savings for your users, faster page loads, and quick interactivity for your site.

Which CMS, e-commerce platforms, and CDNs deliver the best core web vitals? 2020-10-11T16:00:00.000Z https://fershad.com/blog/posts/undefined

Here's a really detailed look at 18.5 million domains and how they stack up against Google Core Web Vitals metrics.

The why of website optimisation: Better user experience 2020-10-05T08:08:00.000Z https://fershad.com/blog/posts/undefined

In the final post of the why of website optimisation series we'll take a look at how better performance online can equate to a better user (or customer) experience.

The why of website optimisation: Help the planet 2020-10-05T08:03:00.000Z https://fershad.com/blog/posts/undefined

This is the third post in a series where I'll outline the environmental benefits that can be derived through website optimisation.

The why of website optimisation: Better search ranking 2020-10-05T07:53:00.000Z https://fershad.com/blog/posts/undefined

This is the fourth post in a series where I'll outline how website optimisation can help you with SEO performance.

The why of website optimisation: Reduce operational costs 2020-10-05T07:33:00.708Z https://fershad.com/blog/posts/undefined

In this second post of the why of website optimisation series we'll go into how you can reduce your operational costs through better site performance.

The why of website optimisation: Increase site conversions 2020-10-05T07:03:59.836Z https://fershad.com/blog/posts/undefined

This is the first in a series of five posts where I'll outline the benefits that can be derived through website optimisation.

Introducing Optimised 2020-09-28T16:00:00.000Z https://fershad.com/blog/posts/undefined

Optimised is a fortnightly newsletter focused on the ways website performance and optimisation can help your customers, your business, and the planet.

Reduce the Weight of Your Web Pages with the Picture Tag 2020-09-15T16:00:00.000Z https://fershad.com/blog/posts/undefined

Images often combine to make up the largest group of resources on a web page (in terms of file size). Therefore, optimising images is one of the easiest steps any website owner can take when looking at improving the performance of their website.

Generate CSV Files from Data with 11ty 2020-09-15T16:00:00.000Z https://fershad.com/blog/posts/undefined

Eleventy is one heck of a powerful, incredibly flexible static site generator. This short guide will show you how you can generate CSV data files using Eleventy.

Boost branding and engagement with Open Graph meta tags 2020-08-18T16:00:00.000Z https://fershad.com/blog/posts/undefined

When we share content on social media we want it to be read. This blog posts introduces how Open Graph tags can be used to present eye-catching, consistenly branded shared content across social media platforms.

DisplayLink - Homepage refresh & navigation improvements 2020-07-28T16:00:00.000Z https://fershad.com/blog/posts/undefined

A project which saw me redesign and rebuild DisplayLink's homepage and website navigation. A key driver was the desire to declutter the homepage and make different parts of the website easier to reach.

A quick guide to easy web performance wins 2020-07-26T16:00:00.000Z https://fershad.com/blog/posts/undefined

This post stems from a conversation I had with a good friend of mine last week. We were talking about how to boost website traffic, and conversions. As I explained to him, and as we'll get to in this post, there's more to the game than just fresh, keyword laden content.

Dark Mode toggle for Svelte 2020-04-12T16:00:00.000Z https://fershad.com/blog/posts/undefined

This quick code note will go through creating a simple component in Svelte that allows us to switch the theme of our website between light and dark.

Freelancing in Taiwan during the COVID-19 pandemic 2020-04-09T16:00:00.000Z https://fershad.com/blog/posts/undefined

As a freelancer, and someone who was working remotely in the months before COVID-19 you'd think not a lot has changed for me since. In this post I go through what life is like in Taiwan, and how the coronavirus pandemic has also led to a change in my daily working habits.

Rotating buttons in CSS 2020-04-08T16:00:00.000Z https://fershad.com/blog/posts/undefined

Here's a really quick little code note that shows how to create rotating buttons using just a tiny bit of JavaScript and some CSS.

Building my first app with Svelte 3 2020-04-06T16:00:00.000Z https://fershad.com/blog/posts/undefined

After doing a few tutorials last month, I finally got around to creating my first app in Svelte. In this blog post I go through some of my first impressions on the framework as I start building with the training wheels taken off!

Two options for making responsive tables for your website 2020-03-26T16:00:00.000Z https://fershad.com/blog/posts/undefined

I recently found myself having to create a website that presented a lot of data in tabular format. This post goes through two approached that I tried out. Firstly, using table markup and horizontal scrolling, and then looking at how it can happen with CSS Grid.

Make a styled, custom dropdown 2020-02-16T16:00:00.000Z https://fershad.com/blog/posts/undefined

I was working on a recent project that required me to create a customized select dropdown. It had to clearly, neatly show two sets of data (jobs and locations), and look good in the process.

Disabling elements with CSS pointer-events and media queries 2020-02-03T16:00:00.000Z https://fershad.com/blog/posts/undefined

A recent project required a collapsible section of content to remain expanded on desktop and collapsible on mobiles. Here's how I made it work with a handful of CSS.

How I would build my 2019 Rugby World Cup fixtures site differently next time. 2019-10-31T15:00:00.000Z https://fershad.com/blog/posts/undefined

Mid-September, over a typhoon holiday long weekend in Taipei, I put together a very simple website for the 2019 Rugby World Cup. With the 2019 Rugby World Cup now almost at an end, I've been thinking about how I might build a similar website differently next time.

What I've learnt in two months working remotely. 2019-10-01T16:00:00.000Z https://fershad.com/blog/posts/undefined

On the back of Buffer's 2019 State of Remote Work report, I take a look back at my transition from being office-bound to location independent. What's met my expectations, what's surprised me, and what challenges I've faced.

Storing, using, and keeping environment variables secret in local environments 2019-09-27T16:00:00.000Z https://fershad.com/blog/posts/undefined

A quick note on how to create, and use environment variables locally. They can be used to keep API keys, secrets, passwords and other sensitive material that you'd rather not expose to the public on GitHub, GitLab or Bitbucket

Build landing pages to promote webinars across different time zones 2019-09-23T16:00:00.000Z https://fershad.com/blog/posts/undefined

With the global nature of broadcasting online, many events - from sports tournaments to webinars - require promotion across multiple time zones. In this tutorial, I'll cover how to create a simple set of multi-time zone landing pages for a webinar series.

Passing multiple arguments to an Eleventy custom filter 2019-09-16T15:00:00.000Z https://fershad.com/blog/posts/undefined

While working on a recent project, I came across a small problem. I needed to convert an event time from UTC to a particular time zone. I was building my website project using the Eleventy static site generator, so I felt that a custom filter would be the best solution to this problem.

Presenting Portable Text 2019-09-09T16:00:00.000Z https://fershad.com/blog/posts/undefined

In this code note I cover a couple of ways to build upon Portable Text for presentation.

Why I now run my website on Netlify and Sanity 2019-09-05T16:00:00.000Z https://fershad.com/blog/posts/undefined

Recently I moved my entire website from Heroku to Netlify. The key driver was to remove the $7 monthly cost of running on Heroku's 'Hobby' plan. It's also allowed me able to make the website more performant without losing the ability to add and manage content. Oh, and I was also able to build this blog into the newly migrated website pretty quickly too!

'Hello, world.' A little bit about me. 2019-08-27T16:00:00.000Z https://fershad.com/blog/posts/undefined

This will hopefully be the first of many blog posts in which I cover content spanning web development, running a business, freelancing, and just general musings. Here's a little bit more about me, my hobbies, my past lives professionally and what I'm doing these days.