Spynlab

History

How we created Spynlab

We developed the ball, the pattern on it, and the app ourselves, from scratch, in Kyiv. Below are our working drawings with dates, exactly as they were.

Spynlab is three things we made ourselves:

  • a pattern of 24 dots, calculated by our own program;
  • a stencil, printed on a 3D printer, which we use to apply dots to the ball;
  • an iPhone app that reads this pattern in flight and shows rotation and speed.

We started on May 16, 2026. In five months we made three versions of the ball: we tested each one in real training sessions and reworked it when it didn't work.

Five months, three balls

  1. May 16, 2026 — The beginning.

    First calculations and the first program that finds the ball in video.

  2. June 17 — First ball (v0)

    Six black and two red dots, drawn by hand along the markings. The red ones were meant to show the program which way the ball was turned.

  3. July 19 — Second version (v1).

    Red dots in new positions, so different rotations of the ball wouldn't look the same.

  4. August 17 — Stencil.

    Two halves with holes, printed on a 3D printer: the ball closes inside, and each dot lands exactly in its place.

  5. August 21 — Current ball (v2)

    Recordings of real play showed: from where the phone stands, small dots and red paint almost disappear in the video. So we calculated a new pattern — 24 black dots in two sizes, 10 and 7 mm. The program placed them as far apart as possible so they wouldn't blur together in motion, and so that at least five would be visible from any angle. The same day — a new stencil for 24 dots.

  6. August – October — Real training.

    We record table tennis play. 875 shots from these recordings are our permanent test: we check every change in the app against them before putting it on the phone.

  7. October 5 — App ready for beta testing.

    In Ukrainian and English. Everything is calculated on the iPhone itself, without the internet.

Working drawings — unchanged

We keep the entire development archive — code, drawings, training recordings — on GitHub from May 16, 2026. GitHub itself records when we uploaded each change, and we cannot alter these dates. We'll show the archive to coaches, clubs, journalists, and partners — write to us.

Commit numbers for those who will verify: ball v0 — 4386b06, v1 — e894bb7, stencil — 8e3e01e, ball v2 — c40aa9a.