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.

Local first: Travel Itinerary Planning App

Local first: Travel Itinerary Planning App

Often not taken seriously during development work is proof-of-concept development and the what can be done to achieve the quickest time-to-live.  What is known as "local first" development is to build a web application that doesn't have a backend or any kind of server running to serve the application. The entire application is local only, and runs totally on the users device; for example, a calculator app.

Most apps today have login, and shared records - like customer relation management software. But in many common use cases, the end user doesn't need to share their data, maybe beyond the ability to backup and sync their work so it's not lost.  Most of the expense in application development comes from having to not also build the app, but to build the servers that will host and support it.  Then there are ongoing costs to run and maintain those servers.

Advantages of this app, is that is loads instantly, has full data, on the users device, even offline. The entire app and it's data works offline; including a 3D rendered world map.  There is basically no hosting cost as an engineer for this app, unlimited scale simply by hosting a few javascript files for the initial download. This is handled by a Cloudflare Pages project, a worker that hosts files from a KV store - all basically free.  I think I pay $5 a month for *all* my Cloudflare projects, not just this.  And for that price, I get staging and production environments, secure DNS, firewall, and the project is built by their CI process linked to the Github repo.  From commit, the project is build and deployed in usually a minute or two.