Saurabh Datta Case study / 2024

Pro-Kido: a cry-classifying smart bottle cap

From a two-sentence wish to two working, bilingual, cry-classifying sample units and an update pipeline, in 11 of 14 planned weeks, built by one person, on a job every conventional supplier had declined as too risky.

IMG-PK-01: hero, four colored caps (teal, yellow, cream, orange) with pixel-face displays on steel bottles, light grey background
Client
Publicis Groupe, for China's largest milk-powder brand
Year
2024 / Berlin, Beijing, Singapore
Elapsed
~11 weeks of 14 scoped / 3 weeks early
Role
Everything: industrial design, electronics, firmware, TinyML, UI, tooling, ops
Stack
nRF52-class MCU / TinyML: 6 labels at 87% from 2s audio / EN-CN hot-swap UI / parametric 3-part cap / SLA shells / CI-CD to S3
Unlock
Commissioned at a premium after every conventional supplier declined the timeline

The ask

IMG-PK-02: b/w photo, parent holding crying newborn

New parents cannot tell what a cry means. Publicis, for China's largest milk-powder brand, asked for a smart baby bottle that interprets cries and helps parents respond, with an eye toward data-driven parenting profiles later. The ask came after other suppliers had declined the timeline as too risky.

Alignment before kickoff

IMG-PK-03: alignment board, current-state notes, verdicts, early requirements

I started by summarising the ask, gathering the client's existing research, thinking lightly about materials and feasibility, and walking the client through it so they, not I, could prioritize the next steps. Constraints surfaced early: an already-completed chipset choice to respect, AC-power assumptions to redesign around low power and deep sleep, display limits, transport and packaging questions.

Scoping and planning

IMG-PK-04: 14-week gantt plus low-fi and mid-fi activity boards

I planned 14 weeks and delivered in ~11, including a documentation week. I defined the job as guiding the client to a proof of concept, resolving uncertainties, and advising on what to do first, while industrial design, electronics, programming, ML, and integration ran in parallel.

The bottle cap story

IMG-PK-05: ID exploration board, sketches, bottle-cap research, first prints

The client asked for a smart bottle. I answered with a smart cap: standard cap diameters mean one product adapts to many bottles, a cap is cheaper and less risky than inventing a new bottle-with-electronics category, and it transports naturally. The cap is three parts, electronics housing separate from the base, parametric so it adjusts to other cap styles with minor changes.

IMG-PK-06: transparent CAD of the three-part cap with electronics, plus hand holding clear cap prototype

Should we design circuits?

IMG-PK-07: bench photos, module assemblies, power profiler traces, deep sleep vs awake

I chose modules assembly over a custom PCB, deliberately. A PCB would look closer to a product, but with controllers and peripherals still uncertain, the design-print-ship-assemble-debug loop would have eaten the schedule. My goal was a PoC proving feasibility, so I kept the loop short, and I measured and implemented low-power profiles against the nRF52 SDK.

Fitting everything in

IMG-PK-08: cap internals, module spacing, assembly steps, LISTENING screen alive

Module spacing, wiring, compression, electrostatics: slow, patient work, but safer than the PCB route on this timeline. Electronics choices fed back into the industrial design, so electronics, programming, and ID finalization ran concurrently.

What should it display?

IMG-PK-09: pixel UI mood board, interaction flow EN/CN, screens on device

I chose a pixel aesthetic because the TinyML-class microcontroller demanded it and could render it smoothly. I tooled the visual assets for embedded use with open-source tools; a capacitive-touch state guides the user, and deep sleep saves power during inactivity.

Testing the UI while designing it

IMG-PK-10: test-mode architecture, BLE remote app, debug view operation

To test UX flow independently of the ML layer, I built in a test mode: a custom BLE remote app that triggers every device state individually, for refining animations and for documentation. A small utility I built to assist design itself.

Both CN and EN

IMG-PK-11: Figma pixel screens CN/EN, label translation table, device showing 点击分析

The brand targets China and international markets. I translated the interface texts with the client, modified open-source font tooling, and made the whole system language hot-swap between English and Chinese. My design files used near-identical fonts to the embedded ones, so what I designed was what shipped to the screen.

TinyML

IMG-PK-12: Edge Impulse training output, 97.7% validation view, confusion matrix, dataset repo

I gathered and processed audio data from multiple sources and ran multiple training iterations, ending at 87% accuracy across six labels from 2-second audio, with the microphone enclosed inside the cap body. I ported it as a C++ library and unit-tested it before firmware integration.

Putting it all together

IMG-PK-13: final assembly bench, SLA shells, firmware and inference-lib repos, finished unit on wooden floor

I integrated the ML with the UI firmware and made it user-interactive, ported the firmware library, and built a CI/CD pipeline that auto-exports builds to an S3 bucket for client download. A new SLA shell design, two assembled samples, 1mm scratch-resistant dark acrylic tops.

Result

IMG-PK-14: closing hero, seven+ colorful caps standing like a product family

From a two-sentence wish to two working, bilingual, cry-classifying sample units and an update pipeline, in 11 of 14 planned weeks, built by one person, on a job every conventional supplier had declined as too risky for the timeline.