Skip to content

Client work · Parenting · early childhood · Android

Bubu AI

The Android app for Bubu, an AI parenting companion that knows your child — and the nursery app that connects parents with their daycare

Bubu is an AI parenting companion: an assistant that answers from your child's own profile, sleep predictions, personalised stories and lullabies, and a nursery hub that connects parents with their daycare. I built the Android app — Kotlin, Jetpack Compose, 20+ Gradle modules — to parity with the iOS app, plus the Android teacher app for nurseries.

On Google Play ↗ bubuapp.ai ↗

Bubu AI store screenshot: Meet Bubu, your smart AI companion, with a chat about a daughter waking every hour

Every parenting app gives the same advice to every parent, because it doesn’t know your child. Bubu’s premise is that it should. You set up a profile — age, routine, what’s been going on — and from then on the assistant answers your questions about your child: why she’s waking every hour, whether that nap is too late, what to try tonight. It predicts nap windows from logged sleep, writes bedtime stories and lullabies with your child in them, keeps milestones, and, through Bubu’s nursery product, connects you with your daycare — today’s schedule and menu, photos from the day, the activity timeline, a chat with the staff.

BUBUAPP S.L. in Barcelona had the iOS app. I built the Android one.

Parity with a moving target

The brief was feature parity with a mature iOS codebase that kept shipping. The Android app is a native Kotlin and Jetpack Compose rebuild, not a wrapper: more than twenty Gradle modules split into core (auth, design system, DI, i18n, navigation, network, playback), data (media library, hubs, chat, sleep, profile) and feature (onboarding, login, library, player, create-story, hubs, community, nursery, messaging, profile, shop), with convention plugins so a new module is one line. Each feature owns its routes, screens, view models and bindings. Analytics events were wired to match the iOS app one for one, so the product team sees a single funnel.

Bubu assistant

What’s in the app

  • The assistant. A chat that reasons from the child’s profile and asks follow-up questions before it advises. Answers stream in; the conversation is the home screen.
  • Library and player. Lullabies, bedtime stories, sounds and podcasts, favourites and a full-screen player on Media3/ExoPlayer with background playback, a mini player across the app, and Cast to a speaker or TV.
  • AI stories. Create a story for tonight with your child as the hero, then keep it in the library.
  • Nursery hub. For families whose daycare uses Bubu: the schedule, menu, gallery, activity timeline with meals and naps, a notification inbox, and parent–staff messaging with voice notes.
  • Voice onboarding. New parents can talk instead of type: a conversational onboarding on ElevenLabs agents with an animated Rive avatar, which hands off to a live agent after a few questions.
  • Everything around it. Google and email sign-in, deep links from push notifications straight to the right nursery screen, Mixpanel and Firebase analytics, a shop in a WebView, dark mode, and a hidden developer menu that can mock backend scenarios for QA.

Bubu library

The teacher app

Bubu’s nursery product has a second client: the app daycare staff use. I built the Android version of that too — Nursery Hub — mirroring the iOS teacher app’s architecture module for module, with the same design system, i18n scaffolding for eleven languages, and the infrastructure (analytics, crash reporting, push, connectivity) shared with the parent app.

Where it stands

The parent app is live on Google Play as Bubu AI: Parenting Companion, with a 14-day trial and a monthly or annual subscription. I shipped it from v1.0 to v1.0.37 across the first half of 2026, alongside the iOS team.

Questions people ask

What is Bubu?

An AI parenting companion from BUBUAPP S.L. in Barcelona. You set up a profile for your child; the assistant then answers questions in the context of that child — age, sleep patterns, what you've logged — predicts nap times, generates bedtime stories and lullabies that feature your child, saves milestones, and supports multiple children and caregivers. A nursery product connects parents with their daycare: schedule, menu, photos, activity timeline and chat with staff.

What did you build?

The Android app, from the first refactor to v1.0.37: a multi-module Kotlin and Jetpack Compose codebase brought to feature parity with the existing iOS app — assistant, library and media player, AI story creation, hubs, nursery features, messaging, voice onboarding, notifications and analytics. I also built the Android version of the Nursery Hub teacher app.

Which technologies does the Android app use?

Kotlin 2.3 and Jetpack Compose with Material 3, Navigation 3, Metro for compile-time dependency injection, Media3/ExoPlayer for playback, Firebase Auth, Firestore and Cloud Messaging, Retrofit and OkHttp with kotlinx.serialization, Coil for images, ElevenLabs and Rive for the voice onboarding, Mixpanel for analytics, and MockK, Turbine and Robolectric for tests.

Can you port our iOS app to Android?

Yes — that's what this was. Working from a mature iOS codebase, I rebuilt the app natively in Compose, matched flows and analytics event for event, and kept pace with the iOS team's releases. Email oday@saltserv.com with a TestFlight link and I'll tell you what the Android version involves.

Dynet dashboard: the City → Area → District → Building → Apartment hierarchy with counts, the five-step installation process flow, and completed, pending and scheduled installation totals

Dynet

Fibre rollout · Web · API

Districts arrive as the network operator's Excel sheet; Dynet turns them into buildings, flats and a work queue for six specialist roles — surveyors, planners, installers — with calendars, floor plans down to the cable, and live progress per district. API, web app and import pipeline, built by me.

Case study

Roadie Tuner home screen with the user's instrument profiles and tutorial cards

Roadie Tuner

Music hardware · Android

A free chromatic tuner for twelve instruments and the control centre for Band Industries' Roadie devices: connect over Bluetooth, push firmware, manage instrument profiles and 150+ alternate tunings. I built the Android app; 100K+ installs, rated 4.6 on Google Play.

Case study

Seez store screenshot: Find your next car — buy, lease, new, used — with search results for Toyota models in Dubai

Seez

Automotive marketplace · Android

Seez aggregated used and new car listings across the UAE, Saudi Arabia and Kuwait into one search, priced them with market data, and could identify a car from a photo. I built the Android app — 500K+ downloads — for a company that grew to a million users and was acquired by Pinewood Technologies in 2025.

Case study

PowerGoodies home screen: points balance, a Ready to charge card and an Add new card bonus

PowerGoodies EV Rewards

EV charging · Android

Public chargers are blocked by cars that finished hours ago. PowerGoodies rewards EV drivers with points for charging at partner operators in the Netherlands, Belgium and the UK and for unplugging right after the car is full — points they spend on gift vouchers. I built the Android app end to end: charge map, session tracking, timers, notifications and the rewards shop.

Case study