Co-creating your agency’s project definition & client onboarding toolkit

• Delivery-approach shaping tools
• Risk review & rebalancing process

As an accomplished Agile coach, agency business owner, strategist and developer, I have spent over two decades at the intersection of technology, business, humans, and creative problem-solving. My journey began in the trenches of software development, where I honed my technical skills and developed a passion for building elegant, user-centric solutions. This technical foundation has been crucial in understanding the complexities of product development and delivery.

In founding and leading a digital agency, I navigated the challenges of scaling a service-oriented business, mastering the art of client relations delivering high-quality digital products and transitioning projects to value focused support agreements. This experience taught me the nuances of managing client expectations and the importance of transparent, effective communication in building long-lasting partnerships.

As an agile coach, I’ve guided teams and organisations in adopting agile methodologies, focusing on continuous improvement, flexibility, and delivering value quickly. My approach emphasises collaboration, adaptability, and empowering teams to make decisions that lead to better project outcomes.

In my role as a strategist, I focused on business processes and technological innovation. I help client-facing agencies refine their sales approaches and product delivery methods, ensuring they align with market needs and client expectations. My strategy work is informed by hands-on experience in software development, commercial approaches and product delivery in client-facing agencies.

With a client-centric mindset, I support agencies in crafting compelling value propositions, streamlining operations, and fostering a culture of excellence and innovation. My goal is to help agencies not just survive but thrive in the ever-evolving digital landscape by becoming more resilient, agile, and client-focused.

Get in touch

Using PHP_SELF Safely and submitting forms to the same page

I’ve lost count of the number of times i’ve seen this bit of HTML / PHP:


Looks pretty harmless doesn’t it, but it is a pretty dangerous shortcut to use. Imagin I get a user to visit the page the form is on by following this link, maybe hiding it in a short url:"> 

where I’ve added some html into the url which contains a script tag.

I could use this method to grab all your cookies and log in as you, or send ajax requests back to the site on your behalf. All very frightening. The quick solution is to turn html characters into their harmless entities using the php function htmlspecialchars. So the code would be

But wait! The best way to submit to the same page with a form is to use and empty action attribute. It’s valid and it works.

Don’t believe me? Go tell Jesse. He also wrote about empty action attributes.

[carousel keywords=”php” tag=”fetchit-21″]