If you have limited freelancing experience, it may surprise you to discover that a significant portion of a developer’s day is spent detailing the work performed for that day. In this guide I’m going to walk through automating client updates so that you can be as efficient as possible.
Importance of Daily Updates
Before diving into how we can automate updates to clients, let’s discuss what a proper update is and what it entails.
An update is a message sent to a client, usually every day or at least every day that you’re working on the client’s project. The days are long gone where clients would hire a freelancer and the developer would disappear for a few months until they brought back a finished product.
Nowadays clients want to have a transparent view of the work performed. This is especially true if a client is paying you on an hourly basis. This makes sense because if you hired someone and paid them for their time, wouldn’t you want to know how the time was spent?
Regular and explicit updates are also an important way that you can distinguish yourself from offshore development teams. Over the years I’ve worked with development teams across the world. And the number one issue I constantly had with them was finding out what they did each day.
So if you can give a transparent view into the work that you perform for a client it can give you an edge over cheaper, offshore freelancers.
Example Client Update
So what does a good daily update look like? Here is one I took from a real world client update:
- Integrated css fix for the location widget
- Continued working on bug fix for the well on the right side of the page
- Updated css for the locations widget on the city pages
- Integrated the checker for posts on the city specific show pages
- Updated sign up buttons
- Temporarily hide sponsor text
- Implemented changes to the contact us text
- Implemented custom sub division with master division annotation for the forms
- Updated the edit label on the post show view
Notice how these updates are practical and informative. None of the items are too technical, since overly technical updates would simply confuse clients.
Automating Client Updates
So we’ve established that client updates are important and we know what a good client update looks like. However if we have to type these updates in from scratch every day for multiple clients it would tally up to quite a bit of time.
I’m not a fan of wasting time and I doubt you are either. Which poises a dilemma:
- We need to created detailed updates of all the work we do each day.
- But we don’t want to waste time writing reports (and isn’t our hatred of writing boring reports what made us want to become freelancers in the first place?!)
Whenever I come across a situation like this I try to see if there is any way that I can automate a boring task. Thankfully there is.
Version Control to the Rescue
In the beginning I was writing out all of the daily updated manually. However if I wrote them at the end of the day I had to go back through all of my GitHub commit messages to reference the work that I did.
After going through this process for a while it dawned on me that if I simply added a little more detail to my GitHub updates I could simply copy and paste them each day and I wouldn’t have to write them from scratch again.
This process ended up saving me a considerable amount of time each day because for best practice reasons I had already been writing GitHub commit messages for each new feature I implemented. So now I am able to remove the duplicate work I had been doing.
Here is a screenshot of a GitHub project where I used the technique of leveraging commit messages for automating client updates.
I hope that this has been a helpful guide for automating client updates. And that you can leverage it with your own clients.