Baby Tracker for Home Assistant

Log every feed, diaper, nap, pump and more with one tap. No phone, no unlocking, no app to hunt for at 3 am. A self-hosted Home Assistant add-on with a colorful web UI, native HA entities over MQTT, and an optional 3D-printed ESP32 button remote.

Free & open source · runs on Home Assistant or any Docker host.

3D-printed baby remote with an embossed faceplate over 15 buttons and a 0.96-inch OLED status display

One tap on the wall, or in the app

The story

It started as a contraction tracker during labor. One button press logged a contraction, timestamped it, and pinged both our phones. It carried us through 700+ contractions over two weeks.

When our son arrived, the contraction tracker was retired the same day and reborn as a baby tracker: feeds, diapers, sleep, baths, medicine, tummy time, weight and pumping. Keeping the same low-friction, high‑WAF spirit, we 3D-printed a labeled button remote so nobody has to unlock a phone to log a diaper change at 3 am.

What it does

🍼

One-tap logging

17 event types across 8 categories: feed, pump, diaper, sleep, bath, medicine, tummy time, weight and notes.

📊

Live stats & journal

Last feed/diaper, totals today, sleep time, and a running journal, all in a one-tap Ingress web UI.

🏠

Native HA entities

Sensors, a “sleeping” binary sensor, and a button per action appear automatically via MQTT discovery.

🎛️

Physical remote

A 3D-printed ESP32-C3 keypad publishes each press over MQTT, so you can log without a screen.

Pump reminders

Independent per-side timers ping your phone when it's time to pump again.

🔒

Self-hosted

Your data stays home: SQLite under /data, no cloud, no account. Open source, MIT.

Get it running

Home Assistant add-on

  1. Settings → Add-ons → Add-on Store → ⋮ → Repositories
  2. Add https://github.com/hms-homelab/hms-baby-tracker
  3. Install Baby Tracker, Start, then Open Web UI

MQTT auto-configures with the Mosquitto add-on. Pre-built images mean installs are instant.

View add-on repo →

Standalone (any Docker host)

docker run -d -p 8099:8099 \
  -v "$PWD/data:/data" \
  -e TZ=America/New_York \
  -e MQTT_HOST=192.168.1.10 \
  ghcr.io/hms-homelab/baby-tracker:latest

Multi-arch (amd64 + arm64). Or grab the full hardware/firmware suite below.

Hardware & firmware suite →

Get Baby Tracker

The add-on is free and open source. The 3D-printed remote, assembled and ready to mount, is available in the shop, no building required.