← Projects
Sleepy Time Clock icon

Sleepy Time Clock

LaunchedDeprecated

An ok-to-wake clock for toddlers — a red light that turns green when it's morning, with a nightlight and white noise. Shipped on the App Store under AppDog, LLC.

react nativereduxredux-sagaiosandroidsvgparenting

Small children cannot read a clock, so they cannot be told to stay in bed until seven. The standard solution is an ok-to-wake clock: a light that is red while it is still night and turns green when getting up is allowed. It converts an abstraction a two-year-old cannot hold into a rule they can see.

Sleepy Time Clock is that, plus the two other things a toddler's room needs, on a phone or tablet you already own.

The light is the whole product

The central component is a traffic light drawn in SVG — two circles on a rounded rectangle — and its entire logic is one boolean:

const red   = (this.props.isGreen) ? "grey" : "red"
const green = (this.props.isGreen) ? "lime" : "grey"

Whichever lamp is not lit goes grey rather than disappearing, so the light reads as a physical object with one bulb on rather than a shape that changes. That detail is the difference between a child understanding it as a thing and reading it as a picture.

Around it: a clock face, a nightlight, white noise for sleeping through a sibling, and separate day and night schedule screens so the switchover time can differ between a school night and a Saturday. keep-awake holds the screen on, because a sleep clock that sleeps is useless.

Built like a real app

Redux with sagas and redux-persist, so settings survive a restart; react-navigation between the main screen and settings; react-native-sound for the noise; react-native-svg for the light; custom scaling so it works on a phone propped on a shelf and a tablet across the room.

Twenty commits between December 2018 and March 2019 track it from "Initial Commit with partially working app" through the fiddly part — screen colors, background colors, clock face font weight, hiding the status bar — into release preparation: app icons, bundle identifier, provisioning profile, and finally the missing iPad orientations.

It shipped

Sleepy Time Clock went on the App Store on 24 March 2019 — the day after the final commit added the missing iPad orientations — published by AppDog, LLC, at $0.99, iOS 9 and later, iPhone, iPad and iPod touch.

Its own listing described it in one sentence better than this page has:

Sleepytime Clock is a red light green light visual clock that serves as a reminder for kids to stay in bed. It includes a white-noise generator, nightlight, and easy to use interface.

And then, the line I would still write the same way today:

Sleepytime Clock is completely advertisement free and collects absolutely no data.

A paid app for small children with no ads and no telemetry was a position, not an oversight. I took the same one seven years later with Memorize The Bible — no account, no analytics, nothing sent anywhere. Apparently I have only ever had one opinion about this.

Where it went

I took it off the store when I wound down AppDog, LLC, the company it was published under. The listing is gone; the app is not on sale anywhere.

It was built, it was released, people paid a dollar for it, and then the company that sold it stopped existing.