An app for bulk postage label printing that I built and deployed in 6 (or 14) hours with almost no prior knowledge thanks to Copilot and Vercel.

Supports Royal Mail, Ebay and Parcelforce single-page label pages, turning them into printable 4-label A4 pages. Go try it if you're also tired of cropping out stuff and pasting it in Photoshop.

PostLabel - Easy bulk printing of postage labels is a simple web tool for bulk postage labels priting for Royal Mail, Ebay and Parcelforce.



The problem I and many of my friends here in the UK face is that Royal Mail, Ebay and Parcelforce all seem to default to an awful one-page-per-label format of exporting labels.

And whilst Royal Mail recently released a function to download a "1-quarter label A4 page" their customer-focuseness didn't seem to go far enough to couple that with a bulk print. They even have a support page on it but I haven't been able to find any of the interfaces they showcase there or in their PDF.

Ebay has a similar feature, but it's incredibly obscure and I personally wasn't able to find it. Same for Parcelforce, but maybe I wasn't looking too hard.


I eventually realised that I crossed over 100 (one hundred) A4 pages created in Photoshop with me cropping out the images out of the single-page labels and printing them.

It was relatively clear that the solution is a very simple PDF processing tool that would:

  1. Accept many PDF files, with many pages each
  2. Detect the type of page it sees
  3. Extract the label segment, then collect them and output a single, magnificent PDF for bulk printing of postage labels

Action, Result and Learning

I grabbed Vercel, as I interviewed with them recently and knew that they have a great free tier (cries in dead Heroku free tier), took their go-to framework (React + Next.js) and some VSCode with Copilot.

It was surprisingly painless. In about 6 hours I had a version that handled all 3 providers, was working in a serverless environment and was doing EXACTLY what I needed. With like 2 week worth of React prior knowledge and 8 years of full-stack software engineering behind my back, but no prior server-side JS experience.

Then I proceeded to spend another 8 hours learning wonderful things about how difficult it is to pass an object between back-end and front-end in JS (I swear, .NET spoiled me!), how serverless Vercel has ruthless restrictions on request/response size and how horrible Copilot is at Tailwind/CSS - I guess CSS will end up victorious over not only people but machine alike.

Oh, and I learned that mobile devices can't save blob to file and have to use a quirky workaround to actually save the generated file. But I'll take it for a 1.5 day effort.