I build web experiences with a love for code, great CMS, passion for standards and attention to detail.

I take great care in making sure that my work is:


My own base files allow me to start coding productively fast, with basic prototypes being up and running quickly. Yet, they are minimal and flexible enough to extend effortlessly according to a site's specific needs and requirements.

Semantic and structured

Well-structured, semantic markup makes a site more meaningful for browsers, screen readers, search engines and fellow coders. I love the new HTML5 sectioning elements and I find it strangely satisfying to run a page through the Semantic Data Extractor.


Following the 'mobile first' approach, I plan a site's content, display and interactive functionality with a mobile context in mind. This ensures a focus on the essentials. I then start coding by writing a plain HTML prototype. With my minimal CSS base file and any necessary functional JavaScript, this creates a nice solid foundation.


With a sound foundation in place, bells and whistles can be added for suitable user scenarios - a large desktop monitor, broadband connection, and Chrome as a browser, for example.

I apply the latest techniques when they are handled well by modern browsers, without forcing them onto older, less capable ones. This 'hardboiled' approach not only makes a site more exciting, but also quicker, future-proof, and maintainable.


Seeing a basic HTML structure come to life through CSS is my favourite part of building websites. I love taking designs apart into components, convert them into a streamlined code and to put them together into usable, beautiful sites.

I structure a site's CSS into resets, layout, typography, modular components, section and user context specific styles. With this and detailed planning, the 'puzzle pieces' can easily fall into place; with the site remaining maintainable and extendable.

Easy to update

CMS can be real party poopers. Wrangling with convoluted markup that invades carefully crafted code, poor control panels, and complex steps for simple updates is just frustrating for anyone involved.

My CMS of choice are Expression Engine and Statamic. They are flexible, extendable, and a joy to use.

Optimised, optimised, optimised

Using an extensive checklist and tools like YSlowCodeKitPingdom Tools and Slowy app, I go through a host of tests and optimisations to ensure a site performs at its best. I check and fine-tune the experience in various popular browsers and handheld devices, validate the code, reduce HTTP requests, enable server-side file caching and compression, check all links, provide non-JavaScript fallbacks, and implement optimised print styles.

Back to top