Hi, thanks for visiting!

My name's Sam Kelleher, and I am a Senior Full-Stack Web Developer / Software Architect based in London. This website mostly contains a sample of work from my portfolio, tips and best practicies for building web applications, and reviews + photos of food and hotels in London.

Go ahead and explore my site, search for something specific if you fancy. Reach out to me by any of these various means below.

JavaScript Tag

P3 Image Color Experimentation

2016 generation MacBooks and iPhones have a wide-gamut P3 display that show 25% 'more' red and greens compared to standard RGB monitors. So I began to experiment to work out what was needed to be able to use this extra color space when presenting images on web and native apps. Basically what I needed to work out was, when given an image that is using P3 color space, can I make a thumbnail from it without destroying the P3 colors and output a transformed image that is still in P3. Further that, to be able to display the specific P3 optimised images on devices that support it. Read more...

Backbone + Marionette GitHub Repository List - Sample Application

Sometimes the best way to learn something is to study each component separately, this gives us a true in depth skill on how something specific works. However, putting these components together to make a full featured application is another ball game entirely. I've always maintained that Software Engineering isn't difficult, but it can be complicated - as a typical application will consume numerous different technologies from development stages, to deployment, to runtime. It's putting all these modules together that is the hard part. Read more...

  • ASOS中国 - Hybrid iOS and Android eCommerce App

    Stared this project from scratch in Spring 2015 for a London based agency on behalf of their client ASOS China. Following a similar design to the UK iOS app, this Cordova powered runs on both Android and iOS devices, in both orientations, on both mobile and tablet.Making pure JavaScript single page applications is one thing, with it's own set of complexities and challenges; but doing the equivalent for a JavaScript app that will function only in a mobile environment brings with it an entire new set of challenges. These are specifically related to the user interface. The app still has to retain the gesture recognition and actions found in native applications, and perform will full buttery smooth animations expected from real applications. Read more...

    CMS Gallery + GIF Support

    A photo gallery within the admin console of a CMS I created called Leaf. The gallery components takes uploaded images, and creates all the required dimensions for the website. It supports creating WebP versions of all images, as well as the usual PNG, JPEG, types. PDFs are also converted to JPEGs. If a GIF is uploaded, the animation is preserved and rendered. The GIF is also undergoes some lossless compression to make the animation load faster. Read more...

    Backbone + WebSocket Single Page Application for Car Dealerships

    A online and packagable application built using Backbone.js + Marionette.js, running on a WebSocket enabled C#/SQL backend. Being a Single Page Application (SPA), the application runs very natively, with fast performance between screen loads, and can handle transient network errors as users dip in and out of WiFi coverage. Read more...

    Multilingual Job Board with geospatial search capabilities.

    This job board aimed at supply chain roles in Europe is able to automatically display the language relevant to the current user, as well as offer sophisticated geospatial search tools. Jobs and Candidates are then auto-matched for each job based on currency/salary (the jobs can show their currency in any known currency available), skills, and location. Location is based on specified travel distance from the desired location, which could be specific towns or continents, to sorting the relevant jobs is priority. Read more...

    Calendar Based Booking System

    This online booking and availability system has the functionality to show to both customers and staff members the same UI but with different enabled functionality. Staff can use the same system to view availability with granular detail, and book on behalf of customers (such as over the phone), while customers can use the system to book themselves. By using this adaptive UI technique saves time and costs as no separate 'staff only' system is required to make bookings. Read more...

  • Interesting Login Screen

    This login screen makes things a little bit more interesting for the end users by displaying an inspirational photo on the login screen. The images would be sourced to show ones relevant to the user (such as from their own user-uploaded gallery) from where their previous login was identified but a password re-prompt is necessary for certain operations. Read more...

    You are on page 1 of 2