unsubbed.co

Baby Buddy

Baby Buddy handles helps caregivers track baby sleep, feedings, diaper changes, and tummy time as a self-hosted solution.

Open-source baby tracking, honestly reviewed. No parenting blog fluff, just what you get when you self-host it.

TL;DR

  • What it is: Open-source (BSD-2-Clause) web app for tracking newborn care — sleep, feedings, diaper changes, tummy time, measurements, and more [2][README].
  • Who it’s for: New parents and caregivers who want data-driven insight into their baby’s patterns without handing that data to a subscription app. Especially useful for Home Assistant users who want baby tracking wired into their smart home [5].
  • Cost savings: Commercial baby tracking apps run $5–15/mo. Baby Buddy self-hosted runs on a $1–6/mo VPS (or free on your existing home server) with no per-user fees, no data caps, no upsell tiers [3].
  • Key strength: Rock-solid reliability, REST API, and deep Home Assistant integration — including physical ESP hardware buttons for one-tap logging without touching your phone [2][5].
  • Key weakness: No native predictive features or push notifications out of the box. The “predict baby’s needs” tagline in the README is aspirational — the app tracks data, but insight extraction requires you to build dashboards or wire up Home Assistant automations yourself [README][2].

What is Baby Buddy

Baby Buddy is a Django web application that gives caregivers a structured way to log everything a newborn does: feedings (bottle and breastfeeding), diaper changes, sleep and naps, tummy time, pumping sessions, height/weight/temperature measurements, and general notes. The project describes itself as helping caregivers “learn about and predict baby’s needs without (as much) guess work” [README].

The “predict” part is worth unpacking honestly. Baby Buddy stores time-series data and displays it in charts and summary views. It does not have a built-in ML model that tells you “the baby will be hungry in 45 minutes.” What it does is give you enough structured history that you can start to see patterns — and if you connect it to Home Assistant, you can build automations that alert you based on elapsed time since the last feeding or sleep [2][5]. The prediction happens in your head, or in your Home Assistant flows.

The project has 2,716 GitHub stars and 342 forks as of this review [merged profile]. It ships with a live demo at demo.baby-buddy.net that resets hourly. It supports 25+ languages, from Brazilian Portuguese to Ukrainian, which reflects a genuinely global contributor base [README].

What makes Baby Buddy distinctly useful compared to a spreadsheet or a paper diary is the mobile-optimized web UI — multiple reviewers confirm it works well as a mobile browser app without needing a native install [2][3] — plus the REST API that enables integrations with Home Assistant, Alexa, ESP microcontrollers, and Grafana [README][5].


Why people choose it

The two reviewers who actually used Baby Buddy with real (or imminent) babies land on the same conclusion: it reduces cognitive load during a period when cognitive load is already maxed out.

Thejesh GN [2], who installed it before his child was born, describes the core problem: “It is tough to keep track of newborns’ daily routines, mainly because you are generally busy performing those tasks rather than making a note of them.” After two weeks of use he found it “easy to use, rock solid, and has reduced the mental load of remembering things.” He also set up Home Assistant restful sensors pulling data from Baby Buddy’s API to bring feeding and sleep status into his HA dashboard [2].

James Gray [1] installed it several months before his expected due date and was excited enough about the zero-state UI grid to write about it. He adapted the Docker Compose file from the GitHub repo in under an afternoon. His verdict was provisional (he hadn’t had the baby yet at time of writing) but the setup process clearly didn’t give him trouble [1].

The SmartHomeScene guide [5] frames the value proposition in a way that resonates with anyone who’s been near a smart home: Baby Buddy gives you structured data that Home Assistant can act on. The guide notes it “will improve the WAF (Wife Acceptance Factor) significantly” — which is a blunt but honest framing of what it actually delivers for the technical parent in a household.

The common thread: Baby Buddy is for people who already have a home server or are comfortable with Docker, and who want a private, reliable place to store their baby’s data instead of feeding it to a commercial app.


Features

Based on the README and first-hand accounts:

Core tracking:

  • Feedings (bottle amount, breastfeeding duration, solid food) [README]
  • Diaper changes (wet, solid, both — with color and amount fields) [README]
  • Sleep and naps with start/end times [README]
  • Tummy time sessions [README]
  • Pumping sessions [README]
  • Height, weight, head circumference measurements [README][1]
  • Temperature tracking [1]
  • General notes [1][2]

Interface:

  • Responsive mobile web UI — works as a mobile browser app without a native install [2][3]
  • Per-user language settings (25+ languages) [README]
  • Dashboard with summary views and charts for each tracking category [README][1]
  • Zero-state views that remain usable before you have data [1]
  • Native Android app available on the Play Store [README]
  • iOS Shortcuts support for quick-entry without the web UI [README]

Integrations and extensibility:

  • REST API with OpenAPI schema (openapi-schema.yml in the repo) [README][2]
  • Home Assistant Add-on (via third-party addon repo) [README][5]
  • Home Assistant integration via HACS for sensors, timers, and automations [5]
  • Alexa skill for voice logging [README]
  • ESP8266/ESP32 hardware keypads for one-tap logging [README]
  • BabyPod — a physical remote control for Baby Buddy [README]
  • Bottle scale integration via ESPHome [README]
  • Grafana dashboard [README]
  • Data import from commercial baby tracker apps [README]

Deployment:

  • Docker Compose (primary path) [README][1]
  • Home Assistant Add-on [5]
  • Clever Cloud [5]
  • Manual Django installation on any VPS [5]
  • SQLite (default, no separate DB server needed) or PostgreSQL [README][2]
  • Terraform config for GCP Cloud Run [README]

The hardware peripheral ecosystem is worth calling out specifically. Most app trackers stop at the screen. Baby Buddy has community-built ESP32 keypads, bottle scales, and a 3D-printable remote control that logs events with a button press — useful at 3am when you don’t want to unlock your phone [README].


Pricing: SaaS vs self-hosted math

Baby Buddy: $0 for the software (BSD-2-Clause license). No tiers, no per-user fees, no cloud backend at all [README][3].

Self-hosting cost:

  • Existing home server (Raspberry Pi, NAS, Home Assistant machine): effectively $0 incremental [1][5]
  • VPS if you don’t have a home server: $1–6/mo on Hetzner, Contabo, or equivalent
  • LibreSelfHosted.com quotes self-hosting cost at $0.99/mo [3]

Commercial baby tracker apps for comparison:

  • Huckleberry: free tier limited; premium ~$9.99/mo
  • Baby Tracker by BabyTime: $2.99–4.99/mo
  • The Wonder Weeks: ~$4.99/mo
  • Glow Baby: free with upsells

The honest pricing comparison is less dramatic than the Zapier vs. Activepieces case — most commercial baby trackers aren’t that expensive. The stronger argument for Baby Buddy isn’t cost savings measured in hundreds per year; it’s data ownership and privacy. Baby feeding and sleep data, health measurements, and daily care logs are personal health data. Where commercial apps store it, who they sell it to, and what happens when the company folds are real questions. With Baby Buddy, the data lives in an SQLite file on your server [README][2].

If you’re already running a home server (Home Assistant, Nextcloud, Jellyfin), the marginal cost is zero and Baby Buddy just becomes another container in your stack [1][5].


Deployment reality check

The clearest signal that setup isn’t a nightmare: both reviewers who installed it describe the process in passing, not as the main story. James Gray [1] adapted the Docker Compose file and set up a systemd service in what reads like an hour or two. Thejesh GN [2] installed it as a Docker container alongside his existing Home Assistant setup.

What you actually need:

  • Docker and docker-compose (or Home Assistant with the Add-on) [README][1][5]
  • Persistent volume for the SQLite database — one directory mount [1]
  • A reverse proxy with HTTPS if you want access outside your local network (Caddy or nginx)
  • Optional: a domain name or subdomain [1]

The Home Assistant path is the easiest for anyone already in the HA ecosystem: install the third-party Add-on via repository URL, install the HACS integration, paste your API key, done [5]. You get Baby Buddy accessible from the HA sidebar with no separate server management.

The standalone Docker path is straightforward for anyone who’s deployed other containerized apps. The example docker-compose file in the repo is functional out of the box. James Gray’s published compose config shows it’s four lines of meaningful configuration [1].

What can go sideways:

  • The CSRF_TRUSTED_ORIGINS setting needs to be configured if you’re accessing Baby Buddy via a custom domain — it’s not obvious if you skip the docs [5]
  • The default credentials are admin/admin — change them immediately, the SmartHomeScene guide calls this out explicitly [5]
  • If you want HTTPS access from outside your home network, you need a reverse proxy setup — Baby Buddy itself doesn’t handle TLS [1]
  • Data export is available but the format for migrating away is less documented than it could be — data in, data out is possible via the API, but there’s no one-click export to CSV for all tables [merged profile]

Realistic time estimate: 30–60 minutes for a technical user on Docker. Under 15 minutes for anyone already running Home Assistant with HACS. For a first-timer who needs to learn Docker basics first: budget a few hours plus a tutorial.


Pros and Cons

Pros

  • BSD-2-Clause license. Genuinely free software — you can fork it, embed it, modify it, use it commercially. No “community edition” gate, no commercial upsell tier for basic features [README][3].
  • REST API is first-class. The OpenAPI schema ships in the repo. Thejesh GN [2] was pulling live data into Home Assistant restful sensors within his first week of use. This is what separates Baby Buddy from a pretty journal app.
  • Hardware peripheral ecosystem. ESP32 keypads, bottle scales with ESPHome, a 3D-printable physical remote — the community has built real hardware around this API [README]. One-tap logging without unlocking a phone is genuinely useful at 3am.
  • Home Assistant depth. Both an Add-on (runs Baby Buddy on HA directly) and an Integration (exposes data as sensors, allows triggering timers from HA automations) [README][5]. For HA users, this is the obvious choice.
  • SQLite default. No external database to manage for a household-scale deployment. One volume mount, one file, done [2][README].
  • 25+ language support. Per-user language settings, not a global switch [README]. Useful for households where caregivers speak different languages.
  • Proven reliability. Thejesh GN describes it as “rock solid” after real daily use [2]. No reports of data loss or stability issues in any of the reviewed sources.
  • Active project. 1,891 commits, 68 releases, CI/CD in place [merged profile]. Not abandoned.

Cons

  • No built-in prediction or smart alerts. The “predict baby’s needs” tagline overpromises. The app is a data logger. Pattern recognition and alerting require you to build Home Assistant automations or stare at Grafana charts [README][2].
  • No native push notifications. Getting alerted when the last feeding was X hours ago requires external tooling (Home Assistant automations, custom scripts) [README][5].
  • No multi-caregiver collaboration features. There’s no concept of shared access with different permissions for grandparents, daycare staff, or night nurses. You either give someone your login credentials or you don’t give them access [merged profile].
  • Export story is thin. You can import from some commercial apps, but comprehensive export to portable formats isn’t prominently documented — your data lives in Django models and SQLite, accessible via API but not via a “download everything” button [merged profile].
  • The Android app is third-party. “Baby Buddy for Android” on the Play Store is community-maintained, not an official first-party release [README]. Quality and update cadence depend on the volunteer developer.
  • Small community vs. mainstream alternatives. 2,716 stars is solid for a niche tool, but Huckleberry and similar apps have paid support teams, in-app guides, and communities of millions of parents. When something breaks at 3am, you’re debugging Django Docker logs, not calling customer support [README].

Who should use this / who shouldn’t

Use Baby Buddy if:

  • You’re already running Home Assistant or a home server and want baby tracking as another container in your stack.
  • Data ownership matters to you — you don’t want baby health data sitting in a startup’s database.
  • You or your partner are technical enough to set up Docker and a reverse proxy, or willing to learn.
  • You want to wire baby events into smart home automations (lights, notifications, dashboards).
  • You want to eventually build Grafana dashboards or custom analysis on your baby’s data.

Skip it (use Huckleberry or similar) if:

  • You want push notification reminders for feeding windows without building automations yourself.
  • You need mobile-native UI with offline support and sync — the web UI works on mobile browsers but it’s not a native app.
  • Your partner is not technical and won’t tolerate logging via a web browser during 2am feedings — the hardware keypads help, but require additional setup [README].
  • You want built-in “wonder weeks” or developmental milestone guidance alongside tracking.
  • Setup time is genuinely not available — you have a newborn, not a weekend afternoon.

Skip it (use a paper notebook) if:

  • You don’t have any server infrastructure and aren’t interested in learning Docker.
  • You want the absolute lowest-friction option and don’t care about data or analytics.

Alternatives worth considering

  • Huckleberry — the commercial standard. Best push notifications, “SweetSpot” sleep window prediction, clean mobile UI. $9.99/mo, closed source, your data on their servers.
  • Baby Tracker by BabyTime — cheaper commercial option, ~$2.99–4.99/mo, multi-device sync, no self-hosting option.
  • Glow Baby — free tier, ad-supported, iOS/Android native. Data privacy trade-off is significant.
  • Sprout Baby — one-time purchase app, no subscription, no self-hosting. Reasonable middle ground for non-technical users who still want privacy.
  • A spreadsheet in Nextcloud — seriously considered by some technical parents for its simplicity. No UI, infinite flexibility, zero setup if Nextcloud is already running.

For anyone already in the Home Assistant ecosystem, the realistic choice is Baby Buddy or nothing — there’s no other self-hosted option with this level of HA integration and community hardware support.


Bottom line

Baby Buddy is the right tool for a specific kind of parent: someone technical enough to run Docker, who already has a home server or Home Assistant setup, and who wants baby tracking integrated into their smart home rather than living in a subscription app. The REST API and Home Assistant integration are genuinely good — good enough that people have built physical button panels and bottle scales around it. The data ownership argument is real: baby health data is personal, and “it lives in SQLite on your NAS” is a more honest answer than “it lives somewhere in AWS managed by a startup.” The “predict baby’s needs” tagline is an overreach — what Baby Buddy actually does is give you a structured log that makes patterns visible. For parents who want to act on that data in automations or dashboards, that’s more than enough. For parents who want the app to tell them when to feed the baby, look elsewhere.

If the deployment is the blocker, that’s the kind of one-time setup that upready.dev handles for clients — you get a running instance without spending your paternity leave reading Docker documentation.


Sources

  1. James Gray“Self-Hosted App Review: BabyBuddy”. https://jgray.me/self-hosted-app-review-babybuddy/
  2. Thejesh GN“Tracking Babies using Baby Buddy” (August 29, 2023). https://thejeshgn.com/2023/08/29/tracking-babies-using-baby-buddy/
  3. Libre Self-hosted“Baby Buddy project”. https://www.libreselfhosted.com/project/baby-buddy/
  4. SmartHomeScene“How to Setup Baby Buddy in Home Assistant”. https://smarthomescene.com/guides/how-to-setup-baby-buddy-in-home-assistant/

Primary sources:

Features

Integrations & APIs

  • Plugin / Extension System
  • REST API

Mobile & Desktop

  • Mobile App