What it does
- Two-stage mornings. A chosen number of minutes before the alarm, a soft sound plays once, the screen brightens with a green okay-to-wake lamp and the morning's quote appears. Saying "I'm awake" or tapping the button cancels that day's alarm. Otherwise the real alarm rings, ramping up over half a minute.
- Sounds tuned to the research on waking. Five alarm sounds and five gentle sounds, all synthesized in code: hummable melodies around C5 at 112 BPM rather than mechanical beeps, with a music box, wind chimes, birdsong, a kalimba and a harp for the gentle side. Each has its own volume and a Play button to audition it.
- Night mode from 8:30 pm to 6:30 am by default: amber digits on black, the screen dimmed as far as it goes, a red moon that turns into a green sun when it is okay to get up. An Always night switch keeps the amber-on-black colours all day at normal brightness.
- Voice without a cloud. "Snooze", "stop", "off", "I'm up" and "I'm awake" are recognised on the device by Vosk. The microphone opens only while an alarm is ringing or a gentle wake-up is in progress, and the camera is never requested at all.
- Who is this clock for. Settings opens by asking the kids' ages. The oldest age picks which quotes are drawn. An Early reader switch, on by itself when the youngest is under seven, turns on three picture-first screens, each with its own override: a few easy words ("Keep going.") big over the full quote during the gentle wake-up, what-to-wear and raincoat tiles above the sentences on the weather page, and a big moon and sun on the ring screen with the words small underneath.
- The ring screen sits on the day's weather sky for everyone, with Snooze and "I'm up!" as two large buttons. "Stop", "off" and "I'm up" end an alarm or a gentle wake-up by voice.
- Sixteen backgrounds to swipe between: Sky, Ocean, Rainbow, Galaxy, Fireflies, Aurora, Meadow, Doodle Strings (beaded pink strings hung with doodled hearts, swaying), Notebook (a ruled page covered in doodled hearts), Soccer Board (a coach's whiteboard with a pale green pitch, doodled round the edge with balls, boots, goals and jerseys), Stadium (floodlight masts beaming down on a night pitch, a goal with its net), Crab Tank (a hermit crab tank with sand, dishes, shells and driftwood), Night Reef (a reef after dark with swaying weed and bubbles), Stuffies (five plush animals on a star sheet, who swap places each day and wave now and then), Doodle Notebook (a ruled page of rockets, tanks, monsters, dinosaurs and a UFO) and Blueprint (the same figures inked white on blue with labels and a title block).
- Eighteen looks for the time itself, chosen separately from the background. Hold the time for two seconds and a ring fills under your finger; then swipe sideways through Classic, Bold, Stacked, a real Analog dial for learning to read a clock, Sketch (marker on a paper scrap), Whacky (every digit a different font and tilt), Pixel, Magnets, Tiara (slim serif digits in champagne rose with a fine tiara on the hour), Marker (Caveat digits with a scribbled pink underline), Marker Stacked (the stacked layout in pink marker with doodled tiaras), Jersey (navy numerals with a green shadow and a navy-and-white date pill), Scoreboard (glowing yellow digits on a black panel, the date in red LED capitals), Beach, Bubble (each digit in its own pale blue bubble), Plush (cream digits outlined in brown with a pink felt shadow), Marker Blue and Stencil (Black Ops digits like a part number on a crate), and tap to keep one. Every look has an amber night version.
- Holiday designs. New Year's Eve, Valentine's Day, St. Patrick's Day, Easter, the Fourth of July, Halloween, Thanksgiving and Christmas each have their own background and lettering, from a witch hat on the hour to a string of fairy lights. Each appears by itself three days before the holiday and goes away the day after, giving the chosen design back. Swiping to another background or look in the meantime counts as a decision and keeps that choice. A switch in Settings turns the whole thing off.
- A quote a day, six actually. From a library of 260 quotes and bits of advice, each marked with the youngest age it suits, six are drawn each morning for the oldest kid using the clock; tap the quote to see the next one.
- Weather from Open-Meteo with no key. Tap it for a page written for a kid rather than a meteorologist: how it feels now, where the day is going ("It warms up to 67° this afternoon, which is nice."), whether to pack a raincoat, what to wear ("Wear a hoodie or a light jacket. You can take it off later."), the temperature when leaving for school, at lunch, after school and at bedtime, and the week in a sentence ("Rain tomorrow, then it gets warmer every day. Wednesday is the warmest."). The page is painted for the sky at that moment: sunny, cloudy, rainy, snowy, a thunderstorm or a clear night. Every sentence comes from plain rules, not a language model. It is the only thing in the app that uses the network, and when the network goes away the clock carries on and the forecast quietly disappears rather than going stale.
- Settings behind a two-second hold on the top-left corner, so stray taps never land in them. Tap the next-alarm line for a plain-language card about that alarm.





















How to install
You need a Portal that has been through unmetaportal, so that it runs ordinary Android apps and you can reach it with adb, and a computer with the Android platform tools. Nothing here needs root, and nothing is irreversible: unmetaportal's disable script puts the launcher back.
- Download
kidclock-<version>.apkfrom the latest release. - Install it and grant the microphone:
adb install -r -g kidclock-0.5.apk adb shell pm grant com.acechase.kidclock android.permission.RECORD_AUDIO
- Make it the home screen and lock it in:
~/unmetaportal/tools/portal-kiosk-enable.sh \ --component com.acechase.kidclock/.ClockActivity --set-home --yes adb shell dumpsys deviceidle whitelist +com.acechase.kidclock
- Hold the top-left corner of the clock for two seconds to open Settings. Say how old the kids are, add an alarm, choose sounds and volumes, set the weather location, then unplug the cable. The clock comes back on its own after a power cut or reboot.
- Swipe to pick a background. Hold the time for two seconds, then swipe, to pick a look. Holiday designs take over by themselves for a few days around each holiday.
The APK is about 80 MB because it bundles the offline speech model. It is signed with an Android debug key, so to replace it with a build of your own you uninstall first or build with the same keystore.
Make it your own
The repository is MIT licensed and small: Kotlin, no Play Services, no third-party UI libraries. Backgrounds and looks are single Canvas classes each, sounds are a few dozen lines of additive synthesis each, and the quote library is one JSON file. The README covers building, deploying and the handful of device quirks worth knowing. A JDK 17 and an Android SDK are all it takes.
Privacy
No accounts, no analytics, no camera permission. The microphone is used only while an alarm is ringing or a gentle wake-up is in progress, speech is recognised on the device and nothing is recorded. The only network traffic is an optional weather forecast from Open-Meteo for a location you type in (or, until you do, a coarse guess from your IP address).