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.

Page 2 of Standard posts

Backbone + Marionette GitHub Repository List - Sample Application

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...

Dictionary Based Password Generator - Cross-Platform Chrome App

Dictionary Based Password Generator - Cross-Platform Chrome App

I've built a pure JavaScript Chrome App that generates random dictionary based passwords that are strong and memorable; which you copy to your clipboard to use. Thanks to the Chrome environment, it's multi-platform and can run anywhere Chrome can (Windows, OSX, Linux, Mobile) and appears as a Native application. Read more...

ASOS中国 - Hybrid iOS and Android eCommerce App

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...

Dynamic iOS Passbook with notifications

Dynamic iOS Passbook with notifications

Using a C# API to generate Passbook passes for the Passbook app on iPhones using iOS. The system can then track each users subscription, and send updates in realtime to each device via the Apple Push Notification Service (APNS). Read more...

Mystery Shopping Yourself

So you've hired temporary workers to provide a presence for you at a trade show, you're not there yourself since you're networking with other business leaders at the event, so how do you know that the 'fort is being held down'. Read more...

Realtime two-way Android based Safety Monitor tablet.

Realtime two-way Android based Safety Monitor tablet.

An Android powered tablet client application that uses Google Cloud Messaging (GCM) to establish a two way realtime connection (using XMPP via the Android OS) to receive and relay events for essential safety monitoring. Due to the volume of data driven, and the number of simultaneous connections; it was essential this Android app would scale and be able to deliver and function 100% of the time, never with a chance of user data loss. The data could be processed in a powerful C# .NET backend. The server-side XMPP connection to GCM was also a C# .NET Worker Role, running in Microsoft Azure. Read more...

Thirdparties - the biggest bottleneck to IPv6 adoption.

The Internet is changing. The problem is, some parts change faster than others. If you need a stack supporting IPv6 - you might struggle. Popular providers are still lagging in their offerings, which means picking a provider with lower expertise might be needed, or even bringing hosting in house. Here we look at the major bottlenecks with IPv6 adoption. Read more...

The importance of due-dilligence when dealing with clients.

Doing business can be tricky. Whilst you might think you'll never have any problems, it's good to be prepared and know who you are dealing with. These are my practical tips and insight for finding out and investigating the backgrounds of people and companies you do business with. Read more...

My Twitter wish list for developers

Twitter is a big platform, but could be improved - my wishlist. Read more...