Open source · API-first · stateless solver

Imposition planning, solved.

Given your SKUs, press, and substrate, Sift computes the most efficient step-and-repeat, gang, or true-shape nest — then hands the plan to compile-pdf to write the PDF. Stateless, deterministic, API-first. Sift decides the layout; it never writes the PDF.

AGPL-3.0 · grid · gang (CP-SAT) · true-shape nest · deterministic plans

How it works

From job spec to optimal layout

Sift answers one question, headlessly: given the job and the press, what is the most efficient layout? It produces the plan; compile-pdf writes the PDF.

01

Describe the job

POST your SKUs, quantities, and rules plus the press/substrate context to /v1/sift/solve. No queue, no inventory state — Sift is stateless.

02

Solve

Tier 1 grid (uniform / stagger step-and-repeat), Tier 2 gang (OR-Tools CP-SAT quantity balancing), Tier 3 nest (true-shape irregular dies). SIFT_TIERS gates which run.

03

Get the plan

Sift returns an ImposePlan — the layout logic behind the step-and-repeat — content-addressed and deterministic: same inputs, same plan, every time.

04

Hand off to compile

The plan goes to compile-pdf.impose, which writes the imposed PDF. Sift decides the layout; compile writes the bytes — a clean seam.

Everything imposition planning needs

Built for web-to-print platforms, packaging houses, and prepress teams that want optimal layouts without lock-in.

Three solver tiers

Grid step-and-repeat (uniform & stagger), gang quantity-balancing across press forms (OR-Tools CP-SAT), and true-shape nesting of irregular dies — one API, the right algorithm per job.

Deterministic plans

Every solve is content-addressed (inputs, press, objective, seed, versions). Same request → same ImposePlan. Stochastic nests pin seed + budget so results are reproducible.

Built on codex geometry

Rectangular grids use codex.geom.tile_grid; placement vocabulary (CellPlacement, flip_per_row, bleed_handling) and polygon ops come from codex — no re-implemented geometry.

Stateless & API-first

/v1/sift/solve, /suggest, /estimate over REST — no queue, no inventory, no due-date storage (those live in MIS/synergy). Run it headless, anywhere.

Hands off to compile-pdf

Grid fast-path or explicit placements (stagger / gang / nest) on the ImposePlan, consumed by compile-pdf-impose. Sift plans; compile writes the deterministic PDF.

Self-host or hosted

AGPL-3.0 OSS you can run on Docker or Railway, or use it through the hosted Print With Synergy SaaS — same solver, managed and metered.

Open source

One stack. Independent engines. Self-host any or all of it.

Every engine is a standalone, AGPL-3.0 service with its own REST contract. Synergy chains them into workflows — adopt one engine, or run the whole stack on your own infrastructure with no SaaS dependency.

codex-pdf

OSS

Structured PDF extraction API that turns complex files into consistent JSON.

compile-pdf

OSS

The only writer in the stack — deterministic PDF rewrite, marks, imposition, and trapping.

lint-pdf

OSS

Detection-only PDF preflight engine — 500+ checks plus the PDF/X-4 conformance suite.

lens-pdf

OSS

Embeddable PDF viewer with separations, TAC, layers, and annotation overlays.

assay-pdf

OSS

PDF assay and metadata reporting — surface what's actually inside the file.

artwork-pdf

OSS

WYSIWYG canvas editor for label and packaging artwork — PDF/X-4 output, flexo support, and a full create-to-RIP workflow.

synergy

OSS

API-first PDF orchestration layer — coordinates the full PWS stack via DAG pipelines (REST + SSE).