Blog

Sticky notes

How to Run a Simple, Effective Sprint Retrospective

Sprint retrospectives (Or Sprint Retros) are one of the most valuable ceremonies in agile — yet they're often rushed, skipped, or run without structure. A well-facilitated retro gives your team space to reflect, surface issues early, and continuously improve how you work together. Here's a straightforward 60-minute format that keeps things focused and actionable.

Zaid Al-Dabbagh Profile Photo
Zaid Al-Dabbagh
Accessibility ramp

Accessibility as Strategy: From Compliance Risk to Digital Advantage

Accessibility compliance doesn't have to be overwhelming. This step-by-step guide — developed during our audit of a large-scale education platform for New Zealand's Ministry of Education — walks you through 14 essential tests, combining automated tools with manual checks, so any team can identify and fix WCAG 2.2 AA issues before the auditors do.

Zaid Al-Dabbagh Profile Photo
Zaid Al-Dabbagh
Sitemap

A Practical Toolkit for Integrating UX Methods into Your Development Lifecycle

Good design isn’t guesswork. It’s the result of deliberate decisions grounded in user understanding and validated throughout the design process. This guide outlines 16 proven UX techniques—spanning discovery, research, design, and testing—to help teams make confident, evidence-based design decisions at every stage of a project.

Zaid Al-Dabbagh Profile Photo
Zaid Al-Dabbagh
Data Security

How to Fix YouTube Embeds Blocked by Cloudflare’s "Security Headers"

Cloudflare's "Add security headers" managed transform is often too rigid, causing it to block YouTube embeds by default. By replacing this "one-click" toggle with a custom Cloudflare Snippet, you can surgically add YouTube's domains to the allowed list, while maintaining a high security posture.

Zaid Al-Dabbagh Profile Photo
Zaid Al-Dabbagh
Banner - Using Custom Icons in SilverStripe CMS Menu and Elemental Blocks

Using Custom Icons in SilverStripe CMS Menu and Elemental Blocks

By default, SilverStripe CMS uses Font Icons for menu, and at times, you would want to set your own custom SVG icons when there isn’t a sufficient icon and/or to be inline with your org brand guidelines. This article explains how can set those, in both cases — For use in CMS classes that extend ModelAdmin, and in the case of Elemental Blocks that extend BaseElement.

Zaid Al-Dabbagh Profile Photo
Zaid Al-Dabbagh
Drupal migration

Drupal Field Content Migration with Views Bulk Edit module

Use the Views Bulk Edit module to migrate content for individual fields on selected content types. This is made possible with use of Drupal’s Views Bulk Edit module, which allows us to setup new Views for the purpose of migrating fields.

Zaid Al-Dabbagh Profile Photo
Zaid Al-Dabbagh
Important for SEO and accessibility.

Step-by-Step Guide to Installing Drupal Security Updates

This guide walks you through the process of safely applying security updates to your Drupal website. Security updates patch vulnerabilities that could expose your site to attacks, making timely installation critical for protecting your data and users.

Zaid Al-Dabbagh Profile Photo
Zaid Al-Dabbagh
Scaffolding

Exporting Drupal Configuration Changes

This guide explains how to export configuration changes from your Drupal site so they can be version controlled and deployed to other environments.

Zaid Al-Dabbagh Profile Photo
Zaid Al-Dabbagh
Banner - Lazy Loading Components in VueJS

Lazy Loading Components in VueJS

As your app scales, it is likely that your compiled JS bundle file will get larger and larger. With the help of the Vue 3 defineAsyncComponent method, we can now only load a component if and when needed asynchronously.

Zaid Al-Dabbagh Profile Photo
Zaid Al-Dabbagh
Test

Adding print styles to your website

The process of adding print styles to your web, to make content more print friendly both from a readability/accessibility point of view, and from the point of removing clutter and reducing print cost.

Zaid Al-Dabbagh Profile Photo
Zaid Al-Dabbagh
Switch between multiple versions of node with homebrew banner

Switch Between Multiple Versions of Node with NVM and Homebrew

When working on multiple projects, you may need to switch quickly between different versions of Node for compatibility. Two common approaches are: NVM (Node Version Manager): A widely used tool for easily managing and switching Node versions. Homebrew (Mac only): Another option to install and manage different Node versions directly.

Zaid Al-Dabbagh Profile Photo
Zaid Al-Dabbagh
Cross browser testing banner

What Browsers to Test in Cross-Browser Testing

Cross-browser testing is essential to make sure your application works consistently across different devices and browsers. Analytics, government standards, or company guidelines will help you decide which versions to support. Tools like BrowserStack give you a full list of browsers and platforms, while Browserslist provides a shared configuration for front-end tools. Finally, Autoprefixer automatically adds vendor-specific CSS rules to improve compatibility, saving you from writing them manually.

Zaid Al-Dabbagh Profile Photo
Zaid Al-Dabbagh
a blue background with the words "why sanity wins over traditional cmses"

Configure Autoprefixer correctly to output -ms-grid prefixes

CSS Grid is powerful, but Internet Explorer 11 doesn’t support it out of the box. This guide shows why the -ms-grid prefix matters and how to enable it for compatibility.

Zaid Al-Dabbagh Profile Photo
Zaid Al-Dabbagh