As time went by we made more and more projects with Laravel. In our Zend Framework days we used a custom-built application template, called Blender, to kickstart all our projects. It was a sort of mini-CMS. Beside the traditional CMS-functions Blender could do a lot of cool things: pull in data from analytics to show graphs about the usage of the site, handle uploaded files, subscribe users to a MailChimp list, etc.
I started creating a Laravel version of Blender from scratch. I soon realised that some of the things I was porting to Laravel could be useful for other developers as well and decided to export these functionalities to external packages. In quick succession packages like laravel-newsletter, laravel-medialibrary and laravel-analytics were made.
I started to enjoy package development more and more. The positive feedback that I received early on from package users was very encouraging. I always considered coding purely as work, but because it was so much fun creating code that others could use as well, I started coding in my free time. Besides working on packages I also polished the aformentioned application template called Blender and open sourced that too.
Since Spatie started I always was the only back-end developer. But that changed somewhere mid 2015 when Seb joined our team. He also likes working on our open source stuff, and because I blog and tweet a lot I’m the public face of our packages, but Seb does quite a lot too. He loves working on the more lower level stuff (the regex package is one of his). I myself enjoy working on the bigger infrastructure kind of packages like backup and medialibrary.
Currently every new package that we create gets born inside a client project. In almost every project we find some functionality that can be extracted to it’s own package!
In part 3 of my article I summarise our journey so far...'Making time to work on Open Source'.