Angry DadAngry Dad
← The blog
Home Assistant· 6 min read

I Built a Chore App. Then I Let the Dishwasher Assign the Chores.

How a magnet-and-marker kitchen whiteboard became ADHDTasker — and then learned to talk to Home Assistant, announce “nice work” on the good speaker, and let the appliances nag the kids themselves.

It started, like most things in this house, with a whiteboard and a grievance.

Three columns on the kitchen wall — To Do, Daily, Interrupts — colour-coded magnet strips (white for anyone, orange for a kid, blue for a parent), and little circles you'd scrawl your name in when you took a job on. It worked. It just didn't keep score, didn't travel, and — crucially — didn't nag. A whiteboard cannot raise its voice. I can, but I get tired.

So I did what any reasonable, mildly sleep-deprived father does: I spent a handful of very focused days turning the wall into software. That became ADHDTasker — a family chore-and-rewards app. Native Android (Kotlin + Jetpack Compose), Firebase underneath, real-time sync, the lot. Then a web app, so the no-Android holdouts couldn't escape either.

The ADHDTasker app — the board, the task editor and a new reward

The app itself: the board (left), the task editor with the onerousness-times-time scoring (middle), and a reward (right). (Names blurred.)

The maths of misery

The one bit I'm quietly proud of is the scoring. Points aren't flat. They're onerousness × time.

A horrible job that's over quickly pays disproportionately well. Picking up the dog's… contributions… is a 10 on the yuck scale and takes five minutes, so it's worth 50 points. A pleasant five-minute job is worth 5. The entire economy is rigged, on purpose, to make the kids want the jobs I least want to do. This is not parenting by the book. It is parenting by the spreadsheet, and it works.

Points land in a lifetime score and a spendable bank, redeemed against rewards I set (30 minutes of screen time costs, you guessed it, exactly one dog-poo's worth of effort). The kids can't write their own scores — every point moves through a server-side function a parent triggers. I have met my children. This was non-negotiable.

But an app on a phone is still a thing you have to look at. And the entire problem with this household is that nobody looks at anything. The house, on the other hand, is always paying attention. The house runs Home Assistant.

Step one: make it shout

The first integration was the obvious one — make the board talk to the house on the way out the door.

Every time a chore is added, claimed, submitted or completed — and every time a kid requests a reward — ADHDTasker fires a webhook at Home Assistant. From there, HA does what HA does: a speaker in the kitchen announces it (with who it's for and what it's worth), and a light flashes green when a job's actually done.

There is a real, slightly stupid joy in hearing the good speaker say "nice work, kiddo — that's 50 points" the moment a chore lands. Positive reinforcement, on the Sonos, automatically. The kids started doing jobs near the kitchen so they could hear their own fanfare. I am not above this. Neither are they.

I shipped it as an importable blueprint so anyone could wire it up in about two minutes: import, set a webhook ID and a shared secret, pick your lights and speaker, done.

ADHDTasker announce blueprint configuration in Home Assistant

The announce blueprint — pick the events, the speakers, the light and the colour. One instance per person. (Names blurred.)

Step two: make it a two-way street

Outbound announcements are nice. The better trick is letting the house put jobs on the board.

A small, per-family REST API means Home Assistant can add, claim and complete tasks, ping the family, and read the whole board for a dashboard. Which means you can write automations like this:

# When I get home, the groceries become someone's problem.
- trigger:
    - trigger: state
      entity_id: person.dad
      to: home
  action:
    - action: rest_command.adhdtasker
      data:
        payload: >
          {"action":"add_task","title":"Unpack the groceries",
           "onerousness":3,"minutes":10}

Walk in the door, and "Unpack the groceries" is already on the board, already worth points, before I've put my keys down (on the launch pad, ideally — but that's a different article).

Step three: the proper integration

The webhook-and-blueprint combo is great, but the kids wanted the board on the wall tablet, properly. So ADHDTasker grew a native Home Assistant integration — one-click install via HACS.

That turns the board into a real To-do list entity, with sensors for everyone's points and bank balances, services to add / complete / approve chores, and a per-profile announce blueprint. The wall tablet shows the whole board, each chore's checkable sub-steps ticking off live — you can see exactly what's left in "Clean the Hilux" without opening a thing — with in-progress jobs floated to the top, biggest points next. Tap a chore on the tablet and the web app scrolls straight to it and pulses, so you can't miss it.

The ADHDTasker board on a Home Assistant wall-tablet dashboard

The board on the wall tablet: chores with tick-off sub-steps, an "at a glance" gauge, and the leaderboard. (Names blurred.)

Step four: chores that assign themselves

This is the one that made me genuinely, unreasonably happy.

The dishwasher finishes. "Empty the dishwasher" appears on the board, worth points. Nobody noticed it finish. Nobody had to nag. A smart plug watches the power draw, a community blueprint (full credit to Blackshome's brilliant appliance one) spots the cycle ending, and ADHDTasker quietly adds the chore.

Home Assistant appliance-watcher creating a chore on cycle end

The appliance recipe: when the cycle ends, this fires and "Empty the dishwasher" lands on the board, worth points.

It's live in our house for the dishwasher, the washing machine and the dryer. The appliances now generate their own paperwork, attach a bounty to it, and put it in front of the people most motivated by money. The machines nag the children. I have achieved a kind of peace.

Where it's at

ADHDTasker is in closed beta on Google Play, the web app's live, and it talks fluently to Home Assistant in both directions. The whiteboard keeps score now. It travels. And, finally, it nags — so I don't have to.

The dog still gets out occasionally. But that's a different automation.


See it for yourself: adhdtasker.com — closed beta on Google Play, the web app's live, and the whole Home Assistant integration is documented end to end.

Get one of these — and a working automation — each week.

The builds, the bugs, and the YAML. No fluff.

Don't fancy the DIY?

Get Dycom Automation to do it properly.

Reading YAML isn't everyone's idea of a good night in. Dycom Automation — the grown-up, properly-insured version of all this — will design, install and tune your whole smart home for you. Same ruthless automations, none of the swearing.

Get it done by Dycom Automation