




For HDI Fürth, we developed a solution that allows greeting cards, for example for customers' birthdays, to be created with little effort. A custom web application based on P5JS enables even untrained employees to create greeting cards. The resulting print file is then printed onto the card pre-printed with the header.
The priority was the combination of automation, low effort and a personal touch. This was implemented with the P5JS library.
From web application directly to print: a solution for a specific use case.



Personal greeting cards for customers are a recurring task with a contradiction at its centre. They should feel individual, yet they come up regularly and in quantity. Designing each one by hand ties up time that daily business does not have. Standardising them removes exactly the personal note that gives the occasion its point.
For HDI Fürth the priority was therefore the combination of automation, low effort and a personal touch. That makes the task less a question of design than a question of how work is divided between template and generation: what is defined once, and what comes into being anew with every single run.
The application is also operated by people who do not work with design software. A solution that assumes layout skills only shifts the effort instead of reducing it. It has to be usable without training and must not allow a result that fails in print.
This was implemented with the P5JS library. A custom web application based on P5JS enables even untrained employees to create greeting cards. What separates this from a template system is that the artwork is not picked from a collection but produced according to rules.
For this kind of task that is the sensible approach. Design rules covering colour ranges, shapes, density and arrangement are defined once, and every run generates its own result from them. The range stays bounded in design terms and still differs in the individual case. The result remains recognisably part of the brand without two cards having to look alike.
The resulting print file is then printed onto the card pre-printed with the header. This split shapes the application. The fixed part of the card already exists physically, and the application supplies only the variable part. Positioning, bleed and areas that have to stay clear are therefore not design freedom but a fixed condition.
Once a digital process ends in print, the demands on the result change. A screen forgives imprecision, a printed sheet does not. Resolution, colour build, margins and file format therefore have to be settled during generation rather than corrected in a downstream step.
What the interface offers in the way of freedom matters just as much. Every additional setting increases the number of results that are technically possible but undesirable in design terms. For applications aimed at untrained users, deliberate restriction is a mark of quality rather than a limitation.
Finally, a solution like this only lasts if it stays tied to the occasion it was made for. A solution for a specific use case stays simple precisely because it does not try to cover every further occasion as well. Extensions then belong in as separate rule sets, not as extra switches in the same interface.
Write to us or book an initial consultation directly. We reply within 24 hours, usually faster on weekdays.
Start Project Now