A sensory play app for babies during tummy time. Built with SwiftUI for iOS and iPadOS, using the camera, accelerometer, touch and sound to create engaging scenes that encourage babies to lift, look and explore.
Tummy time is one of those things every parent hears about but few enjoy. Babies often hate being on their front, and parents run out of ways to keep them engaged. The NHS recommends tummy time from birth to build neck and upper body strength, reduce the risk of flat head syndrome and support motor development. But holding a black and white picture book in front of a wriggling baby gets old fast.
Tummy Time is a free iOS and iPadOS app that turns your device into an interactive sensory experience for babies during tummy time sessions. Place the device on the floor in front of your baby and let them explore scenes filled with high-contrast patterns, sounds, movement and interaction.
Where the idea came from
Add Jam co-founder Michael Hayes used high-contrast tummy time books with both his daughters. They worked well but they were static. Babies would lose interest quickly and tummy time sessions became a battle. The idea of making those books interactive, responding to touch, movement and sound, stuck with him for years.
With his youngest now three and well past the tummy time stage, Michael decided to stop thinking about it and start building. The app was developed as an internal Add Jam project, drawing on the team's experience building engaging mobile experiences.
What the app does
Tummy Time presents a collection of interactive scenes designed to capture and hold a baby's attention during tummy time. Each scene uses different device capabilities to create something genuinely engaging:
- Camera scenes use the front or rear camera to show the baby their own reflection or their surroundings, overlaid with playful animated elements. Babies are naturally drawn to faces and seeing themselves creates a strong incentive to lift their head.
- Accelerometer scenes respond to device movement. Tilt the phone or tablet and elements on screen shift and react. This encourages babies to reach out and touch the device, building coordination alongside neck strength.
- Touch scenes respond to taps and swipes with visual and audio feedback. Even accidental touches from a baby's hands produce satisfying responses, rewarding exploration and interaction.
- Pattern scenes display high-contrast black and white patterns that newborns can see clearly, along with bolder colours for older babies whose vision is developing. These follow the same principles as traditional tummy time cards but with the added benefit of gentle animation.
- Numbers and letters introduce early learning concepts through bold, animated characters with accompanying sounds. These scenes work well for slightly older babies who are past the purely sensory stage.
- Sound scenes use audio cues to grab attention and encourage head turning. Different scenes feature different soundscapes from animal noises to musical notes.
Beyond the scenes
The app does more than just entertain during tummy time. We built features around the full experience to help parents track progress and stay motivated.
History and progress tracking lets parents log tummy time sessions and see their baby's progress over time. Charts show session duration and frequency so you can spot trends and celebrate improvements. It's a simple way to see how far your baby has come.
Milestones are awards that unlock as you use the app. They give parents small moments of recognition for consistency and progress, turning a daily routine into something that feels a bit more rewarding.
Widgets bring tummy time reminders and progress straight to the home screen using native iOS widgets. Parents can see at a glance how their day is tracking without opening the app.
Notifications provide gentle reminders to fit in a tummy time session. Configurable and non-intrusive, they help build the habit without nagging.
Built with SwiftUI
We chose SwiftUI for this project for a few reasons. The app is iOS and iPadOS only so cross-platform wasn't a consideration. SwiftUI gives us direct access to device hardware like the camera and accelerometer without bridging layers. And for an app that's fundamentally about smooth, responsive animation, having native performance matters.
The app's architecture centres around a scene system. Each scene is a self-contained SwiftUI view that manages its own animations, interactions and audio. This modular approach means adding new scenes is straightforward without affecting existing ones.
Camera integration uses AVFoundation under the hood, wrapped in SwiftUI views. The accelerometer data comes through CoreMotion. Audio playback uses AVAudioPlayer for sound effects within scenes. All of this is coordinated through a lightweight scene manager that handles transitions and state.
We paid particular attention to performance. Babies don't wait for frame drops. Every scene targets 60fps and we're careful about memory management, especially in camera scenes where video buffers need to be handled efficiently.
Design for babies (and their parents)
Designing for babies is an unusual challenge. The actual user can't read, can't navigate menus and has limited motor control. But the person setting up the app is an adult, probably a tired one, who needs things to be simple and quick.
The parent-facing UI is minimal. Open the app, pick a scene, put the phone down. No accounts, no onboarding flows, no settings to configure. The baby-facing content fills the entire screen with no chrome, no navigation elements, nothing to accidentally dismiss the scene.
We chose high-contrast visuals as the default because newborn vision is limited to about 20-30cm and they see high-contrast patterns most clearly. As babies grow, the more colourful and complex scenes become appropriate. Parents can choose scenes that match their baby's developmental stage.
The app is free to download with no ads and no in-app purchases. We wanted to make something genuinely useful for parents without adding friction.
Why we built this
Like PEM Diary and Cyber Check, Tummy Time is an internal project born from personal experience. We find that some of our best work comes from solving problems we've actually had. You understand the user because you are the user.
It also gave us another opportunity to push our SwiftUI skills further, building on what we learned with One Walk A Day. Working with device hardware like the camera and accelerometer in the context of real-time interactive scenes was a different challenge from typical app development and one that sharpened our native iOS capabilities.
Get in touch
If you're working on a children's app, an education product, or a healthcare tool and need a team with real experience building native iOS applications, get in touch. You can also book a free 30-minute consultation to talk through your idea.