BACK TO DIRECTORY

Pomp Product Personalizer for WooCommerce

by Iggy Pomp (Igor Pomper)

0.0
(0 ratings)

Your customers pick a design, type a name, and watch it appear on the product – a shirt, a mug, whatever you sell. When they order, you get a print-ready vector file. No back-and-forth, no guessing what they meant.

Everything runs on your own server. There is no external service, no per-order fee and no account to sign up for.

Set up a product once, sell every design on it

Customers choose the design first and the product second. So you set up a shirt or a mug only once: where the print sits, its colours and its variations. From then on every design in your catalogue works on it, including the ones you add next month. A new slogan is just its text: type it, save it, and it is ready on every product.

How it works

  1. Set up each product once: where the print sits and which colour it prints in on each variation.
  2. Add designs to your catalogue, or import a whole batch from CSV. Each one works on every product straight away.
  3. Customers pick a design, type their name, choose the product and add it to the cart.
  4. Every order carries an SVG file, ready for print.

What you get

  • A searchable catalogue of designs, with categories
  • Live preview on a mockup of the real product, with no page reloads
  • Print-ready SVG with every order, at the exact size you set
  • Per-product print position, colour and canvas
  • Bulk CSV import for large catalogues
  • Works with variable products: colour and size change the mockup
  • Production email with the print file attached
  • Each design gets its own address and its own page, so search engines can find it

Pro

Pomp Product Personalizer Pro is the full version of this plugin, sold separately. It does everything this one does, and adds three things:

  • Custom text – the customer writes the wording themselves, line by line, choosing the font, spacing and margins.
  • Custom artwork – they upload their own SVG or image, which is checked and rebuilt before it ever reaches print.
  • Personalised on the product’s own page – one row above Add to cart, for a product that needs no catalogue.

This plugin is complete on its own and nothing in it is waiting to be unlocked. Pro is installed instead of it, never alongside; the designs, settings and orders are the same under either.

Where the files go, and when they are removed

Two files are written for every configuration a customer builds: a preview,
and the print file itself. Both are SVG, both land in your uploads folder:

  • uploads/pomp-personalizer/generated/YEAR/MONTH/ for previews
  • uploads/pomp-personalizer/generated/print/YEAR/MONTH/ for print files

File names carry the configuration’s UUID, so they cannot be guessed, and the
print folder ships an .htaccess rule that denies direct access. That rule is
honoured by Apache and LiteSpeed; on nginx it is ignored, so if you serve
files with nginx, deny the folder in your server config as well. Print files are
handed out through the plugin, which checks who is asking.

A preview and a print file together take about 27 kB on the designs this was
built against, ranging from 1 to 67 kB depending on how much text there is.

An hourly task clears up after browsing. A configuration that was never ordered
expires after seven days, and its two files go with it. Anything attached to
an order is left alone, however old
– you have to be able to print what you
have already sold. Temporary files are removed after a day, and previews left
behind by deleted designs go the same way.

Seven days is a filter, not a fixed number: pomp_configuration_ttl_days moves it.

What it costs to run

The output is vector, so nothing is rasterised. There are no image libraries in
the path that draws a design, no headless browser, no queue, and no calls to
anyone else’s server.

Measured on a modest development machine, rendering a two-line design on a mug:

  • Preview: 15-28 ms, typically 17 ms
  • Preview plus print file: 18 ms
  • Memory beyond what WordPress already uses: under 0.1 MB

There is no background processing. Nothing is rendered until a customer asks for
it, and the hourly cleanup is a single indexed query plus a few file deletions.
Shared hosting is enough.

Imagick is used in exactly one place: the small raster thumbnail in the
production email, because email clients do not render SVG. Without Imagick the
email falls back to the vector preview and everything else carries on.

Fonts

Anton and Amatic SC are put in place when the plugin is first activated, so a new shop can draw a design straight away instead of having to find a font first. Both are Google Fonts under the SIL Open Font License; the licence and its copyright notices ship with them. Delete one and it stays deleted – an update will not put it back.

Upload your own as well, as TrueType (.ttf). The design is traced glyph by glyph into a vector print file, so the font’s outlines have to be readable: WOFF and WOFF2 keep them compressed, and OpenType with CFF curves stores them in a form this cannot read. Google Fonts offers a .ttf for every family. The plugin also ships Space Mono and Inter, used for the configurator’s own interface.

Screenshots

Where the customer starts: the catalogue of designs you have put in.

Where the customer starts: the catalogue of designs you have put in.

The customer types a name and watches it appear on the product.

The customer types a name and watches it appear on the product.

The catalogue of designs, searchable, and shown on whichever product and colour the customer picks.

The catalogue of designs, searchable, and shown on whichever product and colour the customer picks.

Designs in the admin: a line each, with previews, and CSV import for a whole batch.

Designs in the admin: a line each, with previews, and CSV import for a whole batch.

Setting where the print sits on a product - its place, its size, and how it follows the shape.

Setting where the print sits on a product - its place, its size, and how it follows the shape.

An order carries the design, the name, the preview and the print file.

An order carries the design, the name, the preview and the print file.

The print file itself: vector, at the size set for that product.

The print file itself: vector, at the size set for that product.

Plugin Details

Active Installs
0
Total Downloads
61
Version
1.0.2
Requires WP
6.4
Requires PHP
8.1
Tested Up To
7.1.2
Added
2026-09-25
Last Updated
2026-09-25 11:11am GMT

Ratings

5
0
4
0
3
0
2
0
1
0