---
title: "Deploy Polotno Print on Demand Customizer"
description: "T-shirt customizer with Printful-ready print files and mockups"
category: "Starters"
url: https://railway.com/deploy/polotno-print-on-demand-customizer
---

# Deploy Polotno Print on Demand Customizer

T-shirt customizer with Printful-ready print files and mockups

**[Deploy Polotno Print on Demand Customizer on Railway](https://railway.com/template/polotno-print-on-demand-customizer)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/polotno-print-on-demand-customizer/manifest.json

- **Creator:** Polotno
- **Category:** Starters
- **Total deploys:** 1

## Template content

### server

- **Source:** polotno-project/polotno-print-on-demand
- **Public domain:** Yes

### web

- **Source:** polotno-project/polotno-print-on-demand
- **Public domain:** Yes

## Documentation

# Deploy and Host Polotno Print on Demand Customizer with Railway

Polotno Print on Demand Customizer is a t-shirt designer built on [Polotno SDK](https://polotno.com). Customers design the front and back of a shirt in the browser. The app exports a print file at the size Printful asks for and shows the mockups Printful renders from it. Nothing is ordered.

## About Hosting Polotno Print on Demand Customizer

The template runs two services. The server is a small Node app with no dependencies. It holds your Printful and Printify tokens, reads real print areas from their catalogs and calls their mockup APIs, so no token reaches the browser. The web service is a static build of the React customizer. Printful downloads print files from the server by URL, and Railway gives the server a public domain, so you don't need a tunnel. You bring a Polotno API key and at least one provider token.

## Common Use Cases

- Add a "design your own" step to a print-on-demand store before checkout
- Check how artwork prints on Printful products without placing orders
- Start a custom merch builder for a brand or an event
- Compare Printful and Printify mockups from the same editor

## Dependencies for Polotno Print on Demand Customizer Hosting

- A Polotno API key. Trial keys work and show a "Powered by Polotno" badge. Production use needs a paid license.
- A Printful private token, a Printify personal access token, or both

### Deployment Dependencies

- Polotno dashboard (API keys): https://polotno.com/login
- Printful tokens: https://developers.printful.com/tokens
- Printify tokens: https://printify.com/app/account/api
- Live demo and walkthrough: [Polotno + Printful integration](https://polotno.com/sdk/product/integrations/printful)
- How the print-on-demand APIs compare: [Print-on-demand API comparison](https://polotno.com/sdk/product/integrations/print-on-demand-api)

### Implementation Details

Open the web app with `?provider=printful` or `?provider=printify`. Without the parameter it is a plain customizer with PNG and PDF downloads.

`VITE_POLOTNO_KEY` and `VITE_POD_API` are read at build time. Redeploy the web service after you change them.

## Why Deploy Polotno Print on Demand Customizer on Railway?

Railway keeps the editor and its API in one project. Both services share variables, and each gets a public domain without extra setup. You deploy from the repo and skip managing servers.


## Similar templates

- [Openfront Gym](https://railway.com/deploy/openfront-gym) — Opensource Mindbody alternative based on Next.js and Keystone.js
- [open-excalidraw](https://railway.com/deploy/open-excalidraw) — Self-hostable collaborative drawing built on Excalidraw
- [Next.js + Prisma + PostgreSQL Starter](https://railway.com/deploy/nextjs-prisma-postgres) — Deploy a Next.js app with Prisma ORM and PostgreSQL in one click.

Open this page in a browser: https://railway.com/deploy/polotno-print-on-demand-customizer
