Joinery

Jigsaw puzzles cut from scratch

Joinery is a jigsaw app for iPhone and iPad. Puzzles up to 300 pieces, made from your own pictures or from a small gallery of public-domain paintings that comes with the app.

The gallery leans Impressionist — Monet, Van Gogh, Cassatt, Winslow Homer — all of it from the open-access collections of the National Gallery of Art, the Art Institute of Chicago, and the Met.

In beta on TestFlight

The pieces are the point

Most puzzle apps cut on a rigid grid and stamp a handful of tab shapes across it, which is why after twenty pieces they all start to look like each other. Joinery generates every cut from scratch, and no two pieces in a puzzle repeat.

Every rule in the cut algorithm points the same way: it should look like a cut a person could have made, followed with a blade by someone paying attention, rather than stamped out in a single press.

So the grid wanders before anything is drawn, and the rows and columns are already crooked by the time the first knob exists. Each knob is shaped on its own, with its own width, neck, and lean, and they all come out the same size, because a knob is the size of the tool that cut it and not the size of the piece it lands on.

Where two cuts meet, they don't quite cross. One runs straight through and the other splits, arriving against it at two nearby points instead of one. That's what a hand-guided blade does and what a die never does, and it's the detail I'm proudest of. Most people won't consciously notice it. What they'll notice is that the pieces look right.

Now and then a cut skips a knob and two pieces meet along a short, nearly straight seam, the way a cutter routing around a tight spot would decide it. On its own, a piece with one of those sides passes for an edge piece, and I've lost a minute at a time walking one around the border before accepting that it goes somewhere in the middle.

Sixty-three pieces, seed 9

All of it is a pure function of one number. The same seed gives back the same puzzle, down to the last control point. The cut above is seed 9, run through the engine the app ships and written straight out as an SVG — the artifact itself rather than a picture of one. It came out at sixty-three pieces rather than the sixty-four I asked for, because the grid it picks is the one with the squarest cells near your number, not the one that hits it.

The pieces have relief. A real cardboard piece keeps a permanent dent around its rim from being pressed out, and Joinery shades every piece to match, lit from one direction. A board reads as objects lying on a table rather than a picture with lines drawn across it.

A single piece close up, its edges shaded so it reads as raised off the table.
One piece, close up

You can watch it happen

Making the puzzle is half the app, so it happens in front of you. A plain grid appears. The rows and columns drift off true. Knobs push out along the lines one at a time, and where two lines cross, the junction resolves into its stagger. Then the cut settles and the picture is in pieces.

That isn't a loading animation with the real work hidden behind it. The app is drawing the actual geometry it's about to hand you, stage by stage, off the same record the engine produces while it cuts.

A fresh install has no puzzles in it, on purpose. The first one you solve is one you watched get cut.

A puzzle being cut: the finished cut on one side of the picture, the line still being drawn on the other. A puzzle part way through: a joined block of sky, with loose pieces lying around it.

Work however you want

Nothing on the board tells you what to do next. Pieces go wherever you put them and stay there, stacked in a corner or spread out across the table, and the only thing a piece snaps to is one it genuinely joins.

Sort by color, build the border first, or start in the middle with the part you like. Pieces you've joined travel as one, so a section you've built moves in a single drag.

Nothing is keeping score, and you can leave a puzzle half-solved for a month and come back to it exactly as you left it.

You set the terms before you start: how many pieces, whether pieces can be turned, and how close one has to land before it snaps home. Three presets cover it, or you can set all three yourself.

Setting up a puzzle: the picture's title, artist and museum credit, then the piece count, rotation and snap distance.

What's not in it

I built this because I wanted a jigsaw app that treated the puzzle as the whole point, and I couldn't find one.

It's free. No ads. No timers, coins, or streaks. No account. Nothing to buy.