PLUS Supermarkt · Retail & Consumer Engagement

End-to-end Personalized Sticker Studio

We built a mobile-first web application for PLUS Supermarkt that lets football fans create and order personalized sticker sheets in the visual style of their favorite Eredivisie club. The platform turns photo capture, validation, payment, print production, and printer delivery into one owned end-to-end system.

2 months

End-to-end Personalized Sticker Studio mobile preview
Next.js 16React 19TypeScriptTailwind CSS 4Radix UIFramer MotionVercelPrisma 6MySQLOpenAI API (GPT-4o-mini Vision)fal.ai BiRefNetSharpPuppeteerpdf-libStripe CheckoutDigitalOcean Spaces (S3-compatible)ssh2-sftp-clientshadcn/uireact-webcamZodGoogle Analyticsv0

The Challenge

PLUS wanted to turn a supermarket promotion into a high-quality digital product experience: a mobile-first flow where customers could create their own football sticker sheet, pay for it, and receive a professionally printed result at home. The challenge was not just building a fun frontend, but engineering a reliable production system that could validate user photos, generate print-ready assets, support multiple clubs, and hand off finished files directly to the printer.

Key questions:

  • How do we prevent unusable photo uploads? — The system needed to detect whether an uploaded image actually contained a clear, usable face before customers progressed to payment and print production.
  • How do we create studio-like cutouts from casual mobile photos? — Background removal had to work fast enough for a consumer flow while producing output clean enough for branded sticker templates.
  • How do we guarantee print-ready quality? — The final sheet had to be generated at exact print specifications, including correct DPI, dimensions, and positioning of the portrait, name, club branding, and shirt number.
  • How do we support multiple clubs without rebuilding the app each time? — PLUS needed a configurable system where each club could have its own colors, logos, templates, and sticker positioning logic managed centrally.
  • How do we automate fulfillment end to end? — After payment, the order needed to move from web checkout to PDF generation, storage, and SFTP printer delivery without manual intervention.

Our Approach

We designed and built a 17-step mobile-first wizard in Next.js 16, backed by a server-side processing pipeline for AI validation, image transformation, payment handling, PDF generation, and print delivery. The result is a fully owned production system that gives PLUS operational control, measurable conversion insight, and a scalable foundation for future campaigns.

Step-by-step conversion flow: We structured the experience as a guided wizard from introduction to payment confirmation, reducing user error and making a technically complex process feel simple on mobile. Every step was instrumented for funnel tracking so PLUS could see where users dropped off and optimize the journey over time.

AI-assisted image pipeline: We integrated OpenAI Vision for face validation and fal.ai BiRefNet for background removal, then used Sharp for server-side post-processing. That combination let us turn ordinary customer selfies into assets suitable for branded sticker compositions without requiring manual review.

Dynamic club configuration: Instead of hardcoding club variants, we created a configuration-driven system for logos, colors, templates, and sticker position settings. That means PLUS owns the logic and can add or update club-specific experiences through the admin environment rather than through redevelopment.

Print-ready automation: After successful Stripe payment, the platform automatically generates a high-resolution PDF with Puppeteer, stores assets in S3-compatible object storage, and transfers production files to the printer via SFTP. This removed operational handoffs and turned fulfillment logic into a repeatable digital asset.

Admin and operational control: We added a secured admin panel for order oversight, club management, manual print actions, and position tuning. That gives PLUS direct control over the campaign infrastructure instead of depending on external tooling or agency intervention for day-to-day operations.

Metrics

17 steps

Wizard Flow

A fully guided mobile-first flow takes users from introduction and photo capture to payment confirmation and print fulfillment.

< 3s

AI Processing Time

Face validation and background removal complete fast enough to keep the consumer experience responsive.

100%

Fulfillment Automation

Paid orders move from checkout to PDF generation, storage, and SFTP printer delivery without manual intervention.

From Promotional Campaign to Owned Production System

Voetbalplaatjes Studio is more than a branded microsite. It is a fully operational commerce and production workflow that lets customers create a personalized football sticker sheet from a mobile photo, while giving PLUS full ownership over the business logic, club configurations, and print delivery pipeline.

A mobile-first flow built for completion

The product was designed around a 17-step wizard optimized for smartphone usage, where most users would take or upload their photo directly from their device. We prioritized clarity, momentum, and feedback at every stage: club selection, profile details, photo capture, validation, positioning, preview, checkout, and confirmation.

Instead of exposing technical complexity, the interface translates a multi-service backend into a guided consumer experience. Touch-friendly controls, camera capture support, and animated transitions built with Framer Motion helped reduce friction and keep users moving toward payment.

AI that protects quality before it becomes a support issue

One of the biggest business risks in personalized print products is letting poor input flow downstream. We used OpenAI Vision with GPT-4o-mini to validate whether an uploaded image actually contained a clear face suitable for portrait use, helping prevent failed orders, poor print output, and customer disappointment.

Once validated, the image moved into a second AI stage using fal.ai BiRefNet for background removal. This created a clean portrait cutout that could be composited into the club-specific sticker design. By automating these checks early, PLUS reduced operational waste and increased the likelihood that every paid order could move straight into production.

Server-side image processing for consistent print output

AI alone was not enough to meet print requirements. We added a Sharp-based image processing layer to handle posterization, transparency mask generation, and resolution adjustments before assets were placed into the final composition. This ensured the visual result remained consistent across different phone cameras, lighting conditions, and upload qualities.

The final sticker sheet was rendered to exact production specifications using Puppeteer and refined with pdf-lib, producing a high-resolution PDF at 5031×3732 pixels, 300 DPI for a 33×46 cm print format. That level of control is what turned a consumer web flow into a reliable production system.

Configuration-driven multi-club support

PLUS needed to support multiple Eredivisie clubs, each with its own visual identity and layout rules. We solved this with a data-driven configuration model for club colors, logos, template assets, and sticker positioning settings, stored in MySQL and managed through the admin interface.

This architecture matters commercially: it lets PLUS expand the experience to new clubs or update branding without changing the application core. The system is not tied to one campaign setup; it is reusable logic the client owns and can keep extending.

Checkout to printer, without manual handoffs

After users complete payment through Stripe Checkout using iDEAL or credit card, the backend confirms the transaction via webhooks and triggers the production workflow automatically. Assets are stored in DigitalOcean Spaces, the final PDF is generated server-side, and the print file is transferred directly to the print partner through SFTP.

This automation eliminated manual fulfillment work and reduced the chance of operational mistakes. More importantly, it transformed what could have been a one-off campaign activation into an owned system where every completed purchase moves through a defined, auditable, and scalable pipeline.

Admin tooling that keeps control with the client

We built a secured admin panel so PLUS could manage orders, adjust club assets, edit position settings, and manually push files to print when needed. Authentication is protected with bcrypt, and operational actions are supported by order logs and audit trails for accountability.

That operational layer is central to kbpm's approach: we do not just ship interfaces, we build systems clients can run, control, and grow. In this case, the campaign logic, production flow, and fulfillment infrastructure remain in the client's hands rather than inside a black-box third-party platform.

Screenshot 1

Architecture

  • Next.js 16 App Router powers the application as a server-centric web platform with API routes, server components, and a structured 17-step wizard flow.
  • Prisma 6 + MySQL model orders, clubs, sticker settings, step history, and audit logs, giving PLUS a maintainable and queryable operational data layer.
  • Configuration-driven club logic separates visual assets and layout rules from application code, enabling scalable multi-club support without rebuilds.

AI & Image Pipeline

  • OpenAI API (GPT-4o-mini Vision) validates that uploaded photos contain a clear, usable face before users proceed in the ordering flow.
  • fal.ai BiRefNet removes photo backgrounds in near real time so portraits can be composited cleanly into club-specific sticker templates.
  • Sharp performs server-side image normalization, posterization, mask generation, and resolution adjustments for print consistency.

Payments & Fulfillment

  • Stripe Checkout supports iDEAL and credit card payments, with webhook confirmation used to trigger downstream production logic.
  • Puppeteer + pdf-lib generate and finalize print-ready PDFs at exact production dimensions and DPI requirements.
  • ssh2-sftp-client transfers completed print files directly to the print partner, turning successful payment into automated fulfillment.

Storage, Security & Validation

  • DigitalOcean Spaces stores source images, processed assets, masks, and generated PDFs in S3-compatible object storage.
  • Zod enforces schema validation across inputs and API boundaries to reduce invalid data entering the workflow.
  • Security controls include rate limiting, CSRF protection, Content Security Policy, and data URL size limits to protect the application and processing endpoints.

Frontend & Analytics

  • React 19 + Tailwind CSS 4 deliver a responsive, mobile-first interface tailored to camera capture and touch interactions.
  • Framer Motion adds step transitions and interaction feedback that improve flow continuity during a long-form wizard experience.
  • Google Analytics captures custom step-tracking and conversion events so PLUS can measure funnel performance and optimize completion rates.
We wanted more than a fun campaign page. We needed a system that could turn a customer selfie into a real print product without manual handling, and this gave us exactly that: a polished mobile experience backed by an automated production workflow we can control ourselves.

Brandfather — Campaign & Digital Team

More case studies

Our Clients

Virtue
Pepperminds
Parteon
B. Amsterdam
Storyboard
VICE
UVA
Mediahuis
Spilnews
Mix Interiors
The Brandfather
sea
Hopplay
Hagu
De Speld
Accademion