Daedal: designing a Garmin watch face only its owner can read

Daedal is a dial covered in ink bars that all look the same, one colour and one thickness, with nothing touching anything else. Four of the shapes are the time, two more are gauges whose length is the value, and everything else is a decoy. Some decoys are digits sitting in the wrong places at the wrong angles, so a stranger who spots that there are digits will often find the wrong ones.

It started as one of three concepts I pitched to myself for my seventh watch face, all with the same brief: faces that "look like generative art to a stranger but reveal the time to the wearer who knows the trick". One was a circuit board with the digits hidden among its traces, and it is still parked. One was a star map that became Stardome, and the labyrinth is the one I built first.

Daedal watch face at rest, the time hidden among ink islands

Two passes that failed the same way

The pitch was a maze that fills the dial and regenerates every minute, with the time digits drawn as corridors twice as wide as every other passage. On a wrist raise, light floods from the centre through the corridors and the digits ignite. Steps built the outer ring, heart rate drove a runner dot, and the data fields sat in small rounded labels over the maze.

Three rejected Daedal concepts: a corridor maze with data pills, the same maze with chambers, and a hexagonal version
The two passes that failed. Left, the pitch. Middle, pass two, with the chambers. Right, the same layout on a hexagonal grid.

Before building it I wrote down what it had to do. The reveal was the part that had to work, in always-on the time had to be almost invisible, and the data had to be part of the maze instead of labels laid over it. It also had to hold up from the smallest reflective screen to the largest AMOLED.

Pass two took all of that at face value. The date and two complications became chambers carved into the maze, one door each, and steps became a breadcrumb path down the dial, lit as far as the goal fraction, with a runner dot pulsing at live heart rate. I drew the same layout on a square grid and a hexagonal one. The hex version is the most distinctive thing in the study, though its walls turn to noise on the smallest screens.

Then I rejected it, for the same reason the pitch had been wrong. A wide corridor is wide whether the dial is lit or not, so the time was already visible at rest and the reveal only changed colours. The walls were texture, and a background image would have done the same job. Two rules stayed with me, that the wake has to change the structure and that generated geometry has to carry something a texture could not.

One ink, and a maze grown out of the time

The reference that unlocked it is the Kisai Tokei, a Japanese LCD watch whose labyrinth is drawn in bars of one uniform width. Pass three threw away corridors and walls, and everything became one thickness in one colour. The dial is a grid of cells, every bar is drawn on that grid, and the time became giant pixel digits, three by five blocks with every pixel two cells across, hours over minutes.

The labyrinth grows out of the digit ink by random walks, each one a line that adds a cell at a time in a random direction, starting from the digits themselves. Every line on the dial traces back to the time. The walk is seeded from the timestamp, the number the randomness starts from, so the same minute always draws the same forest and no two minutes look alike. It regrows every minute, so a photograph is no help with the next one.

Three frames of a labyrinth growing out of the time digits, from the bare digits to a full dial of ink
Pass three, the maze grown out of the digit ink: the digits alone, the walks part grown, and the finished dial. In the first two frames the seed ink is drawn pale so the growth reads. On the dial itself every bar is the same colour and the same width.

The cipher was one-way

Pass four moved the digit block off centre, because a block sitting dead in the middle is its own signpost, and turned the leftover lines into data, heart rate as pixel digits in the right column and the step goal along the bottom. I had been drawing the digit bars in one go and the decoys in another, and the rounded caps left faint seams where the two met. Those seams outlined the time, so any state where the ink is uniform has to draw every bar in one go.

Then, still in pass four, I wrote down a question. "How can a user trace the shapes in AOD? I don't see it." The decoys were grown attached to the digits, so a decoy bar running in line with a digit bar fused into it and the digit lost its outline.

Back to the Kisai, which keeps every shape separated by a hairline gap. Pass five made every shape an isolated island that touches nothing else, and each real digit one connected, traceable shape in a slot that never moves. The decoys became walk fragments and fake digits, turned or mirrored and placed at wrong positions, because after a week you learn that the digits are the only digit-shaped islands.

Isolation holds at corners too, which I added after seeing round ends going out of the lines, two rounded corners of different islands meeting at a diagonal and reading as a bulge. Under that rule the ink covers about half the dial, airier than the field it replaced.

The Daedal cipher with dashed outlines drawn around the four islands that are the time
The wearer's view of the same dial. The four dashed outlines are the time.

Lengths, not numbers

Pass six started with a complaint about two digits. The step goal was drawn as a percentage, "68", sitting alone in the sparse bottom band where it read at a glance and looked like it was not part of the grid. The answer was to stop showing fractions as numbers. Steps became one long bar along the bottom whose lit length is the fraction of the goal, and Body Battery a column up the left edge that fills from the bottom.

At rest a bar of any length is camouflage, and heart rate, which is not a fraction, kept its digits. The unlit remainder of each gauge does not exist at rest, and fades in late in the reveal, once the lit part has been read as a length.

The steps bar does not have to be straight, only to start from a cell the wearer knows and stay connected. So it became a path that wanders through the bottom band without crossing itself, rewalked every minute to the full length of the goal. Only the lit prefix is drawn at rest, where it looks like any other decoy fragment.

The Daedal dial at rest beside the same dial with the reveal held, showing the time, heart rate and both gauges
The design that shipped. Left, at rest: every shape is an isolated island, four of them are the time, and the rest are walk fragments and fake digits. Right, the reveal held: the time, the heart rate stacked in the right column, the Body Battery column up the left edge and the steps snake along the bottom.

Reading it at night

The always-on frame is the same cipher in ghost ink, and the first version was too dim to trace, so it went up. The ink is now scaled per channel to a fixed brightness, using the same weights the simulator's screen heat map uses, so every palette lands on the same reading. Before that the flat darkening left the Terminal green, one of the palettes, far above the teal. The densest minute with both gauges full measures 7.65%, under the limit of about 10% the panel is allowed.

The wake starts from the pose the always-on frame is already holding. The false islands retract in reverse growth order while the ghost ink warms into the reveal colours, the true digits stay where they are, the bare time holds for a moment, and then the forest grows back over it with no cut to black. An early version picked a different accent for each element and I wrote that it felt too random, so the default is Mono, one hue family with the time brightest and the data a step dimmer. Gold tints the data digits warm, and Signal is the old per-element scheme, for anyone who wants to colour-code what they are reading.

Four frames of the Daedal wake animation, from the dim always-on cipher to the bare time held
The wake, from the always-on pose to the held reveal.

Getting it onto a watch

At night the watch allows only a small amount of work in each minute, so a night minute repairs the forest it already has instead of growing a new one. Then it crashed, on my own watch at 1:19 in the morning and off the wrist. A phantom gesture had fired the wake without the system granting high power, and the first frame of the animation ran a full generation under the night budget. The fix halved the cost of the generation, and to prove the picture had not moved I ported the model to Python and ran it against the original for every minute of the day.

What a buyer asked for

One buyer wanted the reveal gone. He liked the dial and did not want the animation on every wrist raise, so the wake is a setting now. Off sets the wake duration to zero so the dial simply appears, on keeps the 2400 ms reveal, and the switch takes effect without restarting the face.

The listing

I checked the name on the store first, found nothing, and took it. The listing title carries more than the name, "Daedal: Ink Labyrinth · Hidden Time Cipher", because the store's search reads titles and nobody types "Daedal" into it. The covers lost the thin accent ring the whole family had, whose shade fought the art underneath and was worst on this face's muted teal, and the hero got a background of the same ink bars in a dim green. Two gallery shots were taken twice, the Terminal one because it was quietly the default teal, and the 7:47 pair, which shows a single-digit hour with no leading zero, because a fake 6 near the bottom read as part of the time.

The Daedal store hero: a dark background of dim green ink bars behind the dial at rest and the same minute revealed
The store hero. The large dial is at rest and the small one is the same minute revealed.

One of the palettes is adaptive, so the ink drifts from a calm teal through lavender to a tense rose depending on stress or Body Battery.

Daedal on this site, on the Connect IQ store, or the reveal in 20 seconds.

Six Daedal store shots on two rows: rest in teal, rest in rose, Terminal green, the reveal in Mono, the reveal in Signal colours, and the always-on ghost
The six store shots. Top row, the rest cipher in calm teal, the same dial in the tense rose the adaptive palette reaches on a harder day, and the Terminal green. Bottom row, the reveal held in Mono, the reveal in Signal colours, and the always-on ghost.

The author builds the My Day 24 watch face family. Published 2026-07-17, updated 2026-09-10.