It was 2013, and I was doing my honours year in Creative Technologies. I also happened to be working part time for Alliance Print doing night shift pre-press work.
One evening, my studio manager asked me if I had any previous experience with automated business card systems. A new client wanted to be able to order cards online. I did have experience with one system at Centurion Print. I had to set up cards for a couple of clients, I don't remember what the system was called, but it was clunky. It was so clunky that after I left, they stopped using it, because I was the only person who could figure it out or be bothered with it (I couldn't be bothered with it...).
However, I said that if I wasn't so busy with my study, it's something I'd really like to try building myself. I knew that there was an Adobe PDF library and you could experiment with it, it would just produce a watermarked pdf until you purchased a license. I had used PHP on and off over the years and it was going to form the backend of my Creative Technologies project. So by the end of that conversation it was agreed that I'd at least have a go and see where I got that night while running out plates for prepress.
I was a little surprised at how easy it turned out to be to get get a form to post and generate a pdf in an iframe. Much of his ease was because I discovered a PHP library called FPDF with a relatively easy API. I think I hosted it on my theothernews.co.nz web host in a subdomain and left an email to My studio manager to have a go. That was enough for Alliance to decide that perhaps I should create the thing. That became my work in the evenings.
In the resulting site, you could create and save a card, order it, manage existing cards and orders. It could only create cards for the one client because the script was written to generate that layout. There was nothing overly clever about the client's business cards, everything had a fixed position.
Some months later, another clients wanted online business cards, and the Account Manager who had instigated the original client now wanted the site to support them too. I started to think about how I could create a layout engine that took rules instead of writing a script for any new client that came on board. Also how the site would support multiple clients that would be completely unaware of each other. This client had slightly different fields on the business cards and I had to start thinking about how to store each kind. Surely a table per client wasn't a good solution. I didn't like the idea of dynamically creating tables for clients further down the road. I started to have an ultimate goal of a user interface for setting up a new client, so account managers or prepress could do it themselves. But of course there were day-to-day things to take care of and prepress work would come in and that was top priority.
When my honours year finished, I started working full time at Alliance Print, slowly creating a new version of the business card site, realising ways to separate form data from instructions, and that a site needed to initialise an environment every time anything was called so that should probably be a common start every time any request was made. The site was functional but had to take a back seat when I was asked by the owner of the company to remake an ordering site that the company had. Eventually the business cards get merged into that site. That is another story.