vesica: string art without the string
Saturday, 17 January, 2026
⨳ 2 minute read ⨳ 490 words ⨳ apps ⨳ fun ⨳ ios ⨳ mac ⨳TLDR; I released another app.
Somewhere in grade school, a math teacher hands out a sheet with two lines meeting at a corner, each marked off with numbered ticks. Connect 1 to 10, 2 to 9, 3 to 8, and so on, with nothing but a ruler. A parabola shows up where no line is curved. The craft version is a board, a circle of nails, and a spool of thread: from each nail, run the thread to the nail a fixed number of steps along.
I wanted to play with that rule without the nails.
![]()
The rule
Put \(n\) points evenly around a shape and number them. Pick a step \(k\). Every point \(i\) connects to the point \(k\) places along:
\[i \to (i + k) \bmod n\]That's it. Step 1 draws the polygon. Step 2 on seven points draws a heptagram. Small steps on many points draw a thin ring near the edge; step \(n/2\) draws every diameter through the center. Turn on several steps at once and the stars stack on top of each other.
What the app does
- Points and edges. Any regular polygon from 3 to 100 edges, with 3 to 100 points spaced along it. Lock the two counts together for a classic star, or let them differ and the points stop landing on the corners.
- Steps. A grid of every step from 1 to \(n/2\). Tap to toggle them, or switch to single-select and tap through them one at a time. Random fills in a combination you wouldn't have tried.
- Color and weight. A long press on a step opens an editor for its color and line width, so each stacked star reads differently.
- Freeform. Draw a loop with your finger. The stroke is resampled into evenly spaced points, and the same step rule runs along whatever shape you drew.
- Tilt. Turn on the gyroscope and the pattern turns as you tilt the phone.
- Background. Any color; the guide dots and outline fade out a second after you stop adjusting.
- Export. A PNG for sharing, or a 3x wallpaper with extra background so the lock screen has room to crop.
How it got here
The project started in April 2025 as an Xcode template named "geometry fun" with a single view.
By June it was a 600-line ContentView.swift that did everything above.
It sat that way for seven months.
In January 2026 I broke it into a handful of models, views, and utilities, gave it a name, and shipped it. The name comes from the vesica piscis, the lens where two circles overlap; it's the first thing you draw with a compass, and the start of most of the geometry that follows.
It's a one-time purchase on the App Store for iPhone and iPad. No account, no ads, no network requests.