There’s been a lot of talk recently about sleep tracking on Apple Watch, with rumors of Apple working on a built-in solution to be released next year. While a first-party solution is not yet available, many third-party developers have taken the task upon themselves, and a new app — NapBot — has just been released as an alternative to the other sleep-tracking apps available in the App Store.

The way it works is simple: Just wear your Apple Watch while you sleep, and NapBot’s app on the Watch will automatically detect that you’re asleep and track your sleep phases, heart rate, and noise levels. The companion iOS app can be used to visualize your sleep data, which is also made available in the Health app via HealthKit integration.

I’ve been using the app for a while, and it’s the first sleep-tracking app that I’m using every day. I didn’t like the user interface of most other sleep-tracking apps I tried in the past. NapBot comes with a nice user interface that displays your sleep data in a way that’s easy to understand. The trends tab shows information about how well you’re doing with your sleep goal, which is eight hours by default, but can be customized in the app’s settings. All of your data is safely and privately stored in HealthKit, which automatically syncs it across devices.

But what’s most interesting about NapBot is the way its sleep tracking is implemented. Instead of relying on fixed algorithms, the app takes advantage of the new on-device machine-learning capabilities that have been added to CoreML with iOS 13 and watchOS 6 to understand a user’s sleep patterns. This means it tends to get better over time as you use the app, and its model learns from data obtained in previous nights.

NapBot is available for iOS 13 and watchOS 6 in the App Store. The app is free, but some features, such as sleep history and trends, require a subscription that can be paid monthly at $0.99 or yearly at $9.99.