Pimping up the Printmotor Stores
At the end of 2017, Printmotor approached us and told us that they are looking for a partner to renew their web store. We had not heard about their webshop pilot “Printmotor Stores” before, but once we got to know more, we were really excited about the new project and ready to send out our New Things troops to join the battle. After all, at New Things Co, we do love OUR t-shirts a lot!
New Things Co was founded in 2017 in cooperation with Reaktor (our majority owner). Since then, our experts have joint teams in Reaktor’s famously significant and challenging projects. While this has been a really good platform for us to grow our business, our end goal is to land our own projects where we can work with the customer as a fully New Thing’d team and take full responsibility of the project from start to finish.
So in addition to Printmotor’s exciting business idea we also fell in love with the idea of having our own team taking care of the project. Software consulting does not equal “an extra pair of hands” in our minds, instead we enjoy solving problems from a more holistic perspective including design, tech and business angles. That is why our people are versatile generalists, mastering service, visual design and full-stack development.
Printmotor is a Helsinki-based company that has its roots heavily in the traditional printing industry. With traditional printing technologies like offset printing, it is not very economical to print single batches so the more you order the cheaper the products are. This is suitable for customers that can buy and sell large storages of print products.
However, this is not ideal for people that need small amounts of custom products or for those who don’t know how much the product will eventually sell. Luckily, with the arrival of digital printing technologies enabled on-demand-printing: the printing of small quantities suddenly became cheaper, so the actual production could be delayed to the point where the buyer of the product has paid for the order.
This is the idea at the core of Printmotor’s business with Printmotor Stores: anyone can open their own webshop and sell custom goods without investing their own money or storage space.
Shop as a Service
Printmotor Stores provides a SaaS-platform for maintaining a webshop. The service user i.e. the shop owner can choose the products from a vast selection Printmotor offers (including t-shirts, hoodies, mugs etc.). The products are selected to the store via a shop administration panel where the user can upload and select custom visuals to be printed. A product preview is instantly generated and afterwards the user can add the product to the store.
When the products are available for purchase in the store, the shop owner can just sit back, relax and wait for profit to pour in the bank account. The heavy lifting is done by Printmotor. When a customer makes a purchase, Printmotor takes care of the payment, prints the product and sends the order to the recipient.
The product selling price consists of the production price set by Printmotor and the amount of profit defined by the shop owner. So basically the more expensive the product you sell is, the more profit you end up getting. There is no risk for the shop owner: even if nobody ends up buying anything, there is no initial investment to lose.
From Pilot to Scale
The pilot version for the Stores service had already existed for a couple of years prior to us joining the project and it served two main purposes: it proved the business model for the Stores service is profitable and furthermore the crew gained essential next steps to develop the service further.
Scaling up required taking the UI of the webshop to the next level in so that marketing and internationalisation efforts could be launched at a wider scale.
When we first met with Printmotor, they had not yet decided on the best approach to implement the new webshop. They had also been discussing with other consulting companies that offered a whole system renewal, including the back-end logic. For us the idea seemed overkill, since there was a whole bunch of existing code that could be easily reused.
In our suggestion the existing back-end was also utilised in the new implementation. It would be enhanced with a REST API that would serve the needed data for the new front-end. This would simplify the deployment of the new features as well as make the migration of the existing shops to the new layout easier.
The front-end would be rewritten with a modern tech stack. The target was to have a flexible implementation that would enable quick introduction of new features in the future.
This plan also made sense to Printmotor and we agreed we would start working with a team of two developers and one designer.
The team of New Things
We sent our team to work at Printmotor’s premises and in close co-operation with the Printmotor in-house team. One key factor for success is constant communication and that is why we always seek to work as close to the customer as possible. This enables quick feedback loops and ensures that we are working on the right things. Working close to the customer also gives the team a more broad picture of the customer’s context and helps to deal with the challenges better by better understanding the domain.
Additionally the New Things team does not have room for a separate project manager. We think that having middlemen between the team and the customer may easily turn out as an expensive game of Chinese whisper. That is why the hands-on experts themselves are carrying the responsibility of task organisation and prioritisation.
The project was kicked off with a workshop in which we founded the basis for the initial design work. In this workshop we outlined the strengths and challenges of the current service and the requirements for the renewed service, especially the target user groups and branding needs. We also went through the company values and the essential competitors.
The workshop gave our team a good understanding of the current business situation and the goal where to aim. After the workshop, design and development work continued iteratively, fine-tuning the design with each feedback round.
Piling the Stack
New Things took the responsibility of the new front-end application and the back-end API whereas Printmotor’s in-house developer took care of the API integration to the core systems.
The New Things team had total freedom to pick the technology stack for the new front-end. The approach was to use modern tooling: especially focusing in automation with test and deployment more than in the pilot version. The selections needed to be generic enough that it would be probable for future maintainers to master those skills as well.
The main stack consisted of React for UI components, Redux for state management, RxJS for asynchronous handling and Styled-components for CSS. Storybook was used for UI component development and its scripts were used for implementing the unit tests. The End-to-End-tests were written with Nightwatch that provided easy-to-use tools for browser-based testing.
So far all the technology choices have worked rather well. The component-based UI development model enabled sharing the UI code with other Printmotor services, such as the marketing site. Even theming the UI components (which often turns code into spaghetti) was simple using modern styling libraries. Automation is also nicely set up: BitBucket pipelines run static code analysis, unit tests and E2E-tests are ran automatically in Docker containers each time a developer makes any changes to the code. That is definitely a thing of beauty and something we really love: deployment without the cold sweat.
New Biz Things
The passion for experimentation is one of the things that is common among us New Thingers. In addition to technologies and ways of working we are also interested in experimenting with various business models. Hour-based pricing for software consulting is not always the optimal way to reach the wanted results: it makes long-lasting projects the most profitable for the consultants. At parts of the project we used a revenue sharing model: instead of the normal hour-based billing, part of our fee was bound to the future revenue generated from the stores. It remains to be seen how this experimentation works out in the long run.
The UI renewal project was a success. Printmotor Stores are now all running the brand new UI and various marketing campaigns have been launched. We are sure that the artists, sports teams, school classes and why not even companies throughout the world will have their own Printmotor store running in no-time. At least we have :)