Code Pharaoh

I make things for the internet

My name is Lachlann Rattray I am a web developer with over 10 years experience in developing websites for both the private and public sector. I have been involved in a number of high profile and award winning projects including: The Gallery of Lost Art and the redesign and development of the Hunterian Art Gallery.

Articles and snippets

More articles



The basics. I write neat semantic HTML5 mark-up with modern CSS3 with my preferred scripting language SASS (but i will can and will use LESS or plain CSS if that is your thing.) My JavaScript is modern and modular and I am fluent in ES2015.


Umbraco is an open source content management system with the flexibility to run anything from small campaigns or brochure sites right through to complex applications with bespoke features. I have been working with Umbraco for the past 7 years and have built websites for some of the largest private and public sector businesses in the country.

Angular / NodeJS

I have used Angular to build a couple of great projects, including an API mashup using the V+A's API to a high profile web app for some of the largest museums in Europe. Working with Grunt, Bower and NPM as well as frame working technologies such as Yeoman allow for very rapid development cycles.

Less / SASS

I write my CSS like a grown up, using the powerful tools that come with SASS and LESS i can write modular and tidy CSS that is easy to reuse. i prefer SASS but if LESS is your thing I can work with that too, or if you prefer straight up CSS I can roll up my sleeves and help out.


I know Photoshop. I can knock up or edit designs or complete asset extraction for your project, no need to bother the designer.


I have built learning modules for some some really big private and public bodies. I can help you choose the right tool for your business or build you a custom SCORM module.

Flash / AS3 / AS2

It may have gone the way of the Dodo but that doesn't mean you don't have legacy projects to maintain. I speak AS3 and AS2 and can help you out of your Flash bind.


Don't have a project yet? I have experience of working on projects from the very beginning to the very end. If you need help with planning or requirements capture then let me know and I can give you a hand.

Just look at what I have done

Image of website

Duplicate content - Umbraco plugin

This is a simple App plugin that adds a context menu item to content nodes which will allow you to duplicate that node (up to 20 times) within the current parent node.

I created it as I find when setting up sites I dummy populate by creating 1 fully populated page and then copying it, however the Umbraco copy function requires a lot of clicks. This package will also let you over ride the default copy name with a Lorem Ipsum alternative.

Image of website


Collect Scotland represent some of the brightest new talents in Scottish pattern and textile design, they approached me with a requirement for a website that would not only exhibit the work they are involved in but also offer a custom password protected member and client portal. Using Umbraco we were able to build a bespoke system which met the immediate needs of the site revamp but also left room for upgrade and expansion of functionality.

Image of website

Victoria and Albert Museum, Collection Trakr

Using the V+A's openly available API I designed and built an Angular web app that would allow users to create a simple account using their social media log ins, they could then browse the collections of the V+A in a new way saving interesting objects to a personal list. User could then share those objects with each other. I built this site using a combination of Angular, Node and Express.

Image of website

Sarah Knox Gallery

I was approached by the artist Sarah Knox to give her website a revamp, on a very limited budget we were able to set up a new Squarespace account as well as transferring domain and email to a single location. to help Sarah out I manage all the content for the site from adding new art works to maintaining the Blog with regular updates.

Get in touch