Brendon Rice
Back to work

Baby Log · Android app

A baby tracker for one-handed logging.

Baby Log records feeds, sleep, nappies and the rest in a tap or two. It works offline with no account, and partners can share a child so both parents see the same log.

ProjectBaby Log
RoleDesign and build
TypeAndroid app · free with premium
onethumb.png

The idea

Built for someone holding a baby in one arm.

Most tracking happens at 3am with one hand free. So the app opens on the things you log most, the buttons are large, and a feed or a nappy takes one tap. Nothing gets in the way: no sign-up wall, no ads, no setup before you can log something.

It runs locally by default, so it works with no signal and no account. Signing in is optional and adds cloud sync and sharing with a partner.

One-tap loggingFeeds, sleep, nappies, pumping, solids, medicine and temperature, with a running timer for sessions.
Works offlineLocal-only mode needs no account. Sign in if you want sync and sharing.
Partner sharingInvite by email so both parents log to the same child. Part of the premium tier, with sync.
More than one childSwitch between children, each with their own profile and history.

In the app

What it does.

01

Logging

The home screen shows the current child and the events you use most. Start a feed or sleep and it runs as a timer, or enter something that has already finished. Events can be edited afterwards, and you choose which modules appear.

02

Timeline, reminders and settings

The day's events in order, so the last feed is one glance away, with search back through the history. Reminders are scheduled on the phone. Settings cover default amounts, units, the day window and deleting data.

03

Local first, account optional

The app works fully signed out and offline, and says so — the home screen shows a "local only, not backed up" badge. Signing in is a magic link by email, and adds cloud sync and partner access.

04

Households, owners and members

An account gets a household. The owner manages the children and who has access; invited partners log, run timers, switch children and keep their own units and modules. That split is enforced by database rules, not just by hiding buttons.

05

Sync

Sync pushes local changes up and pulls newer ones down, keeping whichever was edited last. It runs on sign-in, and there's a manual sync in the Sync Center.

06

Switching accounts on one phone

Signing in on a phone that already has data is the awkward case. Before anything syncs, the app works out whether it's the same account (carry on), a first account on this phone (adopt what's there), or a different account (clear it first), so one family's logs can never end up in another's.

07

Photos

Child photos go into a private storage bucket, readable by the household and writable by the owner, and are shown through short-lived signed links. Signed-out users keep the photo on the phone, and a failed upload keeps the local copy and retries later.

Stack

What it's built with.

AppReact Native with Expo and Expo Router
LanguageTypeScript, Zod for data shapes
StylingNativeWind, light and dark themes
On deviceAsyncStorage, local notifications
BackendSupabase with row-level security
SubscriptionsRevenueCat, Google Play
Next project Apple Tap to Pay terminal ↗
Or All work