← all work
live2026

NFC chore system — gamified chores, real hardware, happy kids

A chore system my kids actually use: tap an NFC tag, earn points, chase streaks and bonus quests — ESP32 hardware wired into Home Assistant and a FastAPI backend.

PythonFastAPIESP32 / ESPHomeNFC (PN532)Home AssistantSQLiteVanilla JS SPA

Architecture

NFC tagkid taps a tag
ESP32 scannerESPHome firmware
Home Assistantautomation + REST
FastAPI backendpoints, streaks, quests
Tablet dashboardinstant feedback + audio

What it is

The whole system in one sentence: a kid finishes a chore, taps an NFC tag stuck to the thing they cleaned, and the house announces it while their points tick up on the tablet.

  • Hardware — an ESP32 with an PN532 NFC reader mounted in the kitchen; each chore has a cheap passive tag. Tap it when you finish.
  • Automation — the scanner reports the tag UID to Home Assistant; one HA automation turns it into a REST call to the backend.
  • Backend — FastAPI + SQLite tracks points, escrow, streaks, quests, rewards, and per-kid state. It decides what a scan means and broadcasts the result over a WebSocket.
  • Feedback — the kid-facing tablet dashboard updates instantly: points animate, SFX plays, the house speakers announce it.

Mo’s dashboard: today’s quests with the daily bonus quest (2× points) highlighted, plus the family goal bar and live point balance.

The game design

Points alone get boring fast — the engagement layer is where the design work lives:

  • Bonus quests — one random chore each day earns 2× points. A variable reward the kids race for.
  • Ranks — themed tiers that promote as streaks grow (Cadet → Pilot → Commander → Admiral this week).
  • Family goals — when everyone completes a chore in a day, the whole house celebrates. Chores become “our thing,” not “my work.”
  • Screen-time gate — screens unlock when a chore is done. Rewards are earned from the system instead of negotiated with me.

The numbers

1,137 scans logged over its life; 72 completions / 735 points in the last 30 days. Both kids are mid-quest right now. It has outlived the novelty phase — which is what I’d have bet against before building it.


The full story lives in the blog: I built my kids a chore system that feels like a game — the design brief, the game design decisions, the debugging war stories, and a step-by-step guide to building your own.