Updating ContractOrPermie.com

I've been a contractor rather than permanent employee for a good chunk of my working life. I started working in the mid-1990s when the business world had been clearly demonstrating that they had no loyalty whatsoever to their staff, so I've always felt the same loyalty in return. I've always been quite mercenary about it: I do good work and act responsibly in my employers' interest no matter how they employ me.

For a long time I used a spreadsheet to be able to convert between the daily rate recruiters would quote and the equivalent annual salary, factoring in the days you don't get paid as a contract: annual leave, sick pay and public holidays. Superannuation is also taken out of your day rate, so that's factored in too.

After being asked multiple times for copies of my spreadsheet and wanting to learn a new web framework, back in 2013 I created a little single-page app for the job, Contract or Permie? All zippy responsive design that resizes nicely on phones and everything!


Fast forward many years and I'm always bumping into fellow contractors and discovering they use it. I've let the thing languish a bit over the years. It still uses quite clunky code, was hosted from an S3 bucket without TLS so was insecure and had old, no longer working, Google Analytics tagging hardcoded in it. Some of the assumptions, particularly the mandatory superannuation rate, were outdated too.

I got a patch from Andrew Punch in December last year fixing a couple of these problems and I've just merged them in. Given I've accepted an external contribution, meaning someone else had to wade through my clunky code, I figure I should open source the damn thing and make the code public, so here it us.

While in there, I also tweaked a few things. It's not a secure site with support for HTTP/3 (thanks to Fastly making that super easy).

Future plans: I might rewrite the whole thing in a new, modern framework. Open to suggestions! While I'm in there I'll re-implement tagging using WalkerOS as I've been keen to play with it since meeting Alexander in Copenhagen last year and having a long conversation about it. Maybe even get super modern and do some automated tests, automated deployment?
0 responses