KapfenbergThis saves me …Security and accessGetting started and running it

The sticker does not know who is there — the calendar does

The request was an e-ink display with a rotating QR code. What was built is a sticker with no power. Why that answers the same question better.

The question at stake is mundane: has the chimney sweep been yet?

In a house where nobody is permanently present, tradespeople, gardeners or the sweep turn up, find nobody in, and leave again. Sometimes you find out, sometimes you do not.

The request for this was a small e-ink display at the gate with a QR code that keeps changing and reads from the calendar. What was built is a sticker on wood. No display, no power, no rotating code.

Here is why that is not cutting the wrong corner but the better answer to the same question.

First, straighten out the expectation

It is a guest book, not access control.

Anyone who does not scan leaves no trace. That is not a shortcoming of the implementation but the nature of the thing: a sticker on a gate cannot compel anyone.

It helps with “has the chimney sweep been?”. It does not help with a forgetful gardener.

That belongs at the start, because otherwise the expectation is wrong — and a wrong expectation turns a working solution into a disappointing one.

The trick: the sticker does not need to know who is there

This is the core. The sticker only reports: “somebody scanned at 10:04”. That is all it can do, and all it needs to do.

Who that was is in the calendar. The automation reads the title of the currently running appointment and writes it into the entry.

That has a consequence I only realised while building it: there is no list of trades to maintain. The calendar takes free text. Gardener, chimney sweep, cleaner, delivery — whatever you enter appears later in the visit entry. No dropdown, no upkeep, no exception for the case nobody foresaw.

And the interesting case is the one with no appointment

If no calendar entry is running, the visit is still recorded — as UNANNOUNCED.

That is the entry that actually matters. That the announced gardener came at the announced time is a confirmation. That somebody nobody knew about scanned at 10:04 is information.

Cross-checked, not assumed

Both paths were played through:

Calendar Result
no appointment entry: UNANNOUNCED, with timestamp
appointment “Gardener” running entry: Gardener

Afterwards the test data was removed — list entries deleted, counter reset, test appointment taken out of the calendar. A test whose traces remain falsifies the first real week.

Why no rotating code

The reason behind wanting rotation was a good one: a fixed code can be photographed and called later from home. Then the visitor log says somebody was at the gate while they were on the sofa.

An NFC sticker solves the same problem — without a display, without power, without Wi-Fi at the scan point and without weatherproofing. You have to stand in front of it. An NFC tag cannot be photographed from three metres away.

That removes in one stroke: a power supply at the gate, a device that fails in frost, a Wi-Fi link out there, an enclosure against rain, and the question of what happens when the display stops refreshing.

Honestly: it is not fully solved

The address that gets opened still lands in the visitor’s browser history and can be called again later.

For a guest book that is acceptable — anyone who goes to the trouble of faking a visit will not be stopped by a rotating code either. For access control it would not be acceptable. See above.

The sign, and why the wording counts

The laminated sign reads:

You did not find us in person Please scan briefly — then we know you were here.

That is better than a blank “Please scan”, because it supplies the reason. Somebody standing at a gate seeing an unexplained code will, in case of doubt, not scan it. Somebody who reads what it is for will.

Two sentences of text are worth more here than any technical improvement.

The NFC sticker sits in the middle of the QR code

One target for both routes: whoever uses NFC holds the phone to the centre. Whoever prefers the camera scans the same code. A dashed circle marks the spot — on a 25 mm sticker the hit area is small, and without a marking the visitor searches.

That the code survives this is measured

A hole in the middle costs modules. The highest error-correction level tolerates around 30 per cent loss according to the standard.

Instead of believing that, it was tried through — every variant read back with a decoder:

Hole diameter Area share decoded
30 % 7.1 % yes
38 % 11.3 % yes
42 % 13.9 % yes
46 % 16.6 % no

It is built at 34 per cent — clear margin to the limit. And scaled down to 320 pixels the finished code still decodes.

That is the difference between “the standard says this works” and “I have read it”. The limit lies between 42 and 46 per cent, and it does not lie where the 30 per cent from the standard would suggest.

The hardware, with the commonest trap

The sticker goes on wood, so an ordinary tag is enough:

  • NTAG213 or NTAG215 — iPhone and Android read these without an extra app. An iPhone does not read Mifare Classic. That is the difference between “the visitor briefly holds up their phone” and “the visitor installs something first”.
  • At least 29 to 30 mm. Bigger antenna, bigger range, less “I cannot find the spot”.
  • Weatherproof, so PVC or epoxy. Not paper.

And the commonest buying mistake: on metal an ordinary tag does not work. There you need an “on-metal” tag with a ferrite layer. Not needed here because the gate is wood — but anyone sticking their tag to a metal gate and wondering why nothing happens has made exactly this mistake.

What actually disappears

The question. Not the work — it was never work, it was uncertainty.

Before: “I think the sweep was here, there was a note in the letterbox.” Or not, and then you ring up.

Now: a list with timestamps and, where an appointment was running, with names.

And the side effect that has come to matter more to me than the main purpose: you see when somebody was there who was not announced. For a house you do not live in, that is a different kind of information.

So what?

Three things that reach beyond this project:

  1. Ask what problem the requested feature solves. The wish was a rotating code; the problem was “a photo is enough”. NFC solves the problem without building the feature.
  2. Let something else do the identification. The scan point does not need to know who is standing there. A calendar you keep anyway knows better and needs no upkeep.
  3. Measure instead of believing the standard. 30 per cent is in the spec, the limit was at 42. Knowing both cost half an hour.

And the uncomfortable truth at the end: the best decision in this project was to install one device fewer. Any display at the gate would be a device that fails in winter, needs power and eventually wants updating. The sticker does not.