Notifications (alarmee)

SkillCommunication

The KMP Starter Template notifications system (alarmee) — StarterNotificationsManager for local/scheduled notifications, push setup, and Koin module registration.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Notifications (alarmee) skill

What this skill tells your AI

The instructions your AI receives, as published by devatrii/kmp-starter-template in .agents/skills/kmp-starter/starter-features/notifications/SKILL.md and read by ahel’s review.

Local, scheduled, and push notifications via the alarmee library. Three modules under features/notifications/.

Where things live

PieceModulePath
AppNotifications (channel id/name)notifications corefeatures/notifications/core/.../AlarmeeNotifications.kt
createAlarmeePlatformConfiguration() (expect)notifications coresame file
StarterNotificationsManager (interface)notifications localfeatures/notifications/local/.../StarterNotificationsManager.kt
StarterNotificationsManagerImplnotifications local.../StarterNotificationsManagerImpl.kt
DIcore/local/pushNotificationsCoreModule.kt, NotificationsLocalModule.kt, NotificationsPushModule.kt

Local & scheduled notifications

StarterNotificationsManager is the API:

interface StarterNotificationsManager {
    companion object Companion {
        fun randomUuid(): String
    }

    val scheduledUUIDs: Flow<Set<String>>

    fun schedule(alarmee: Alarmee)   // schedule for a specific time of day
    fun immediate(alarmee: Alarmee)  // send immediately
    fun cancel(uuid: String)         // cancel a scheduled alarm
}

Usage (typically injected via Koin):

class ReminderViewModel(
    private val notificationsManager: StarterNotificationsManager,
) : MviViewModel<ReminderState, ReminderActions, ReminderEvents>() {

    fun scheduleReminder() {
        notificationsManager.schedule(alarmee = Alarmee(...))
    }
}

StarterNotificationsManagerImpl persists scheduled UUIDs to DataStore and delegates to LocalNotificationService.

Push

notificationsPushModule initializes the mobile alarmee service and exposes its push stream. Android/iOS platform config comes from createAlarmeePlatformConfiguration().

Koin

Register all three modules in InitKoin (see koin skill):

notificationsCoreModule
notificationsLocalModule
notificationsPushModule

notificationsLocalModule binds StarterNotificationsManagerImplStarterNotificationsManager.

Rules

  • Reuse the alarmee manager; don't roll your own notification scheduling.
  • Register the notification Koin modules in InitKoin.

Reference

  • Docs: https://starter.atherio.dev/ (features / notifications)
  • Source: features/notifications/*

Signals

GitHub stars
162
Forks
28
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
kmp-starter-feature-notifications
Source
github.com/devatrii/kmp-starter-template