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 practices for building web applications.

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

10 tips for preparing for meetups and conferences.

Going to any type of conference or mid-week evening tech meetup is a valuable treasure trove of people you might want to work with. This might be new co-workers, creative and intelligent minds to share with, and clients and new employers. Here are my top ten tips (and a bonus tip) to help you get the best out of events like this. Read more...

7 best-practicies and privacy considerations to follow when choosing a CDN provider

Using content distribution networks (CDNs) to globally distribute static assets for your website or web appoication, such as it's images, JavaScript files, videos and downloads etc, is increasingly common. It's common because they are reliable systems, cheap to use, easy to get setup on, and take a chunk of work off developers from having to build and maintain these systems themselves. I've devised a list of seven tips and best-practicies to look out for when picking which company should be your CDN provider. Read more...

Top 10 changeable factors that influence programmer productivity

There are a number of often overlook factors that influence the productivity of a programmer. Many of them can be changed but are many that can be addressed before the working relationship turns sour. Read more...

Picking the right client

So many companies now days forget that the two-way relationship that exists between client and worker. Weather that worker be an employee, freelancer or contractor worker;they pick the client as much as the client picks them. When they fail to realize this, it usually results in them being demand and expectant of you;in return for nothing. They won’t pitch to you as to why you should not work for them, another client, or their competitor.

As your career and level of experience grow, picking the right client becomes essential. Not only will there be demand for your particular skill set, which necessitates you choosing who to work for, but working for the wrong client can be so disastrous for you as well as the client.

Quick and easy credit card payment page

Quick and easy credit card payment page

This simple, static, and responsive payment page allows customers to simply enter the value they need to pay and enter their payment information and complete payment with a single click. Read more...

Beta releases should always be private

Consumers install beta quality test software, normally intended for developers, and then have a poor first-impression, and often get stuck with technical issues, then blame the company for releasing ‘bad’ software - regardless of what the final product is like.

Considering the warnings and notices given during the download process I find it strange that many users get so angry and surprised when the beta software is crashy and unreliable.

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

Calendar Based Booking System

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

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