E-INK · TWO BUTTONS · ZERO FEED

One message in.
One tap back.
No phone required.

TAG carries exactly one message at a time from a parent to a child at school — answered with a single tap. The one-school software pilot is built and tested; the physical e-ink device has a complete pre-prototype hardware design waiting on its first bench build.

MSG · MUM14:02
Question
Gran's picking you up today at 3:15 instead of me. OK?
✓ YES
✕ NO
TAG-01 · SCHOOL PAIRING ACTIVE
142 × 86 × 11mm · 1-BUTTON POLL / 5MIN
✓
Done
Software pilot
Parent PWA, school console, backend, virtual device — built and tested.
✓
Done
Hardware B1 design
Schematics, BOM, enclosure CAD and render — complete pre-prototype package.
·
Pending
Physical prototype
Bench build, firmware and charging/antenna validation not yet started.
·
Pending
School trial
Real-child use awaits a privacy review and an agreed pilot school.
01 / THE GAP

Schools are banning phones. Parents still need a way through.

Most of what a lock-away policy blocks is exactly what parents never needed anyway. What's left is a handful of genuinely time-sensitive messages a day, with no channel left to send them.

01

The pickup changed

Gran instead of Mum, a different gate, a different time. Small logistics, but they have to land before the final bell.

02

The one-off exception

A dentist appointment, an early collection, a forgotten kit bag — the kind of message that doesn't fit a note sent in with breakfast.

03

The reassurance check

Nothing urgent — just "home safe?" or "did the trip go ahead?" — answered with one tap instead of an unread text three hours later.

02 / THE SOFTWARE PILOT

A one-school pilot, built and tested — not just a concept.

Before any physical device, TAG exists today as a working web pilot: a parent app, a school console, a backend and a virtual two-button device you can pair and message in a browser.

!/?

Two kinds of message

NOTICE is a directive — the child acknowledges with GOT IT. QUESTION is a genuine choice, answered YES or NO. There's no pretend choice on a notice.

◉◉

Help, taken seriously

Holding the left button for three seconds alerts school staff and linked parents independently, each with their own "seen" tracking. Staff resolve it after checking.

⧉

Guardian-isolated by design

Server-enforced checks mean a paired device can only ever reach its own child's messages — not another family's, however many guardians are linked.

⏳

Built to expire

Pairing codes are one-use, messages expire after 24 hours, sessions expire after 12. Nothing lingers longer than it needs to.

✓ ✓

Tested, not assumed

An automated suite covers access isolation, pairing, expiry and idempotency, plus a full browser smoke test across desktop and mobile layouts.

⇪

Runs on your own server

Docker Compose, PostgreSQL and automatic HTTPS via Caddy. No paid AI service is needed to run the pilot itself.

03 / HOW IT WORKS

Four steps, all of them boring on purpose.

The device only ever shows the most recent message. There's nothing to scroll, mute, or get lost in — which is the point.

01

Parent sends from the app

A short message, typed once, marked as a NOTICE or a QUESTION — same as texting, except it's going to a device the school controls, not a phone the school has to confiscate.

02

The message reaches the device

It's queued by the backend and delivered to the child's paired device — physical or virtual — or broadcast through the school console to a class or year group.

03

The device wakes and displays it

The e-ink screen updates — checking in roughly every five minutes is enough — and holds that one message until it's answered. Battery life was never the constraint; attention was.

04

The child responds — or asks for help

GOT IT, YES or NO — nothing else. The reply goes straight back to the parent's app. Holding the left button three seconds raises a help alert instead, seen by both school and parent.

04 / TWO BUILDS

One for the school day, one for everything around it.

SCHOOL MODEL

Wi-Fi, day-pass pairing

Distributed by the school, handed back at the gate.

Pairing
Fresh QR pairing each morning, scanned by a parent-installed app when the phone is handed in and locked away
Network
School Wi-Fi
Broadcast
School dashboard can message by pupil group — year, class, or gender
Day end
All pairings release automatically when the school closes at 3pm
Model
Provided by the school
CONNECT MODEL

SIM-connected, always on

For the walk home, clubs, and everything outside the gates.

Pairing
Persistent pairing to one parent app — no daily re-pair
Network
Built-in SIM, independent of any Wi-Fi
Extra
GPS location, so parents know where the device — and child — is
Coverage
Out-of-school hours: journeys, clubs, weekends
Model
Sold as a subscription
05 / HARDWARE DESIGN

TAG School B1 — a complete pre-prototype design package.

Pre-prototype · unvalidated

Everything needed to take the School model to a bench build lives in the open repo: hierarchical KiCad schematics, a priced UK bill of materials, an 11-page assembly guide, an OpenSCAD enclosure with printable STL parts, and a Blender product render.

  • Schematics — four hierarchical KiCad sheets, netlist-checked against all 121 component pins
  • BOM — priced in GBP against UK suppliers, editable cost model
  • Enclosure — OpenSCAD source, printable base/lid/button STLs, a polycarbonate window insert
  • Render — Blender scene built from the actual case geometry, not a stock mockup
Not yet approved for child use. No unit has been physically assembled or tested. The charge-temperature safety margin needs revalidation, and antenna performance, battery runtime and school Wi-Fi connectivity all still need prototype testing before this goes anywhere near a school.
HW · B1REV 1
Schematics · BOM · enclosure CAD · render — all checked, none assembled yet.
DESIGNED
UNBUILT
TAG SCHOOL B1 · PRE-PROTOTYPE
06 / WHO IT'S FOR

Built for both sides of the gate.

For parents

  • One app, one thread — no separate accounts or logins per school
  • A notice only ever needs a tap to acknowledge; a real question gets a real yes or no
  • The Connect model keeps the same channel open before and after the school day

For schools

  • A single console broadcasts to a year, a class, or a gender group in one action
  • Nothing to manage overnight — every pairing expires itself at 3pm
  • Devices replace the phones the school already asks pupils to hand over, rather than adding a new object to police
07 / SECURITY, BUILT IN

The device can't become the next thing to worry about.

//

No free-text, ever. A child's only possible replies are GOT IT, YES or NO — there's no keyboard for a stranger to exploit.

//

Guardian access is enforced server-side. A paired device — and the parents linked to it — can only reach its own child's messages.

//

Passwords are hashed, sessions are signed. HttpOnly cookies, origin and CSRF checks, rate limits and an audit log sit under everything.

//

School pairings expire themselves. Every link between device and parent app is released at 3pm, no admin required.

08 / WHERE THE LINE IS

What this pilot is — and isn't — yet.

Being clear about the edges matters more than a good demo. Nothing here is dressed up as more finished than it is.

Alerts

In-app only. No SMS, email, push or emergency-service call, and no guaranteed response time. This pilot must not be relied on as a safety-critical system.

Offline

Shown honestly. The parent app never claims a message sent while offline actually delivered — a network failure is surfaced, not hidden.

Hardware

Pre-prototype. No physical unit has been assembled or tested. Firmware doesn't exist yet.

Scope

One school at a time. Multi-school tenancy, billing, attendance and timetable integration are outside this pilot.

09 / UNDER THE HOOD

Open, and built in the open.

TAG is an independent build, not a school-issued product yet — the repository below is where it's actually taking shape, commit by commit.

BackendPython application server, run under Gunicorn
DatabasePostgreSQL in production; SQLite for quick local development
DeploymentDocker Compose, with Caddy handling automatic HTTPS
Parent appInstallable PWA with an offline fallback — no child data cached client-side
TestingPython unit tests plus a Playwright browser smoke test across desktop and mobile
Hardware sourceKiCad schematics, OpenSCAD enclosure, Blender render — all versioned alongside the code
Repositorygithub.com/andykirkpublic-cmd/TAG
Target deploymenttag.trykobi.com