> ## Documentation Index
> Fetch the complete documentation index at: https://docs.meeseeks.mattramotar.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Meet Meeseeks

> Meeseeks is a Kotlin Multiplatform library for scheduling and managing background tasks across Android, JVM, native (iOS), and JS (Web). Whether your tasks are simple or complex, for one user or hundreds of millions, Meeseeks can help.

## I'm Mr. Meeseeks! Look at me!

***Meeseeks*** is a Kotlin Multiplatform library for effortless background task scheduling. It's inspired by the [Meeseeks](https://rickandmorty.fandom.com/wiki/Mr._Meeseeks) beings, who are friendly and cheerful and motivated to help. They are summoned to complete a task and they disappear after it's done. This is the goal of the Meeseeks library: handle anything from simple one-off jobs to complex periodic workflows so you can focus on building great features, not wrestling with scheduling code.

<img src="https://mintcdn.com/mattramotar-a9de11b3/S1vRCVN5S6JipSGV/images/hero.svg?fit=max&auto=format&n=S1vRCVN5S6JipSGV&q=85&s=e5b52e9c0e0da64db9b82ba49c91e724" alt="Hero" width="1366" height="768" data-path="images/hero.svg" />

## Why Meeseeks?

Whether you need to periodically sync data, schedule local notifications, or run computational tasks behind the scenes, Meeseeks provides:

<CardGroup cols={2}>
  <Card title="Simplicity" icon="wand-magic-sparkles" iconType="duotone">
    Summoning a Meeseeks is easy. No more fiddling with complicated job schedulers
    or manual timers. Drop in a few lines of code, and let Meeseeks do the rest.
  </Card>

  <Card title="Reliability" icon="shield-check" iconType="duotone">
    Backed by
    [WorkManager](https://developer.android.com/topic/libraries/architecture/workmanager)
    on Android, [Quartz Job Scheduling](https://www.quartz-scheduler.org/) on JVM, [BGTaskScheduler](https://developer.apple.com/documentation/backgroundtasks/bgtaskscheduler) on native (iOS), and [Background Synchronization API](https://developer.mozilla.org/en-US/docs/Web/API/Background_Synchronization_API) on JS (Web). Even if the app closes or the device restarts, your tasks persist.
  </Card>

  <Card title="Intelligent Retry Policies" icon="arrows-rotate" iconType="duotone">
    Because not all tasks are created equal. Choose from exponential backoff,
    fixed intervals, or custom strategies to ensure your tasks complete
    successfully.
  </Card>

  <Card title="Multiplatform" icon="laptop-mobile" iconType="duotone">
    Write once, run anywhere. Bring the power of Meeseeks to Android, iOS, web,
    desktop, and beyond using a single Kotlin codebase.
  </Card>
</CardGroup>

## This is a Meeseeks box

A *[Meeseeks Box](https://rickandmorty.fandom.com/wiki/Mr._Meeseeks_Box)* lets you summon a Meeseeks to complete a task. Once the Meeseeks completes its task, it disappears. Here's a primer from [Rick](https://rickandmorty.fandom.com/wiki/Rick_Sanchez):

<video controls className="w-full aspect-video" src="https://mintcdn.com/mattramotar-a9de11b3/S1vRCVN5S6JipSGV/videos/summoning.mp4?fit=max&auto=format&n=S1vRCVN5S6JipSGV&q=85&s=770757ebb6a70e57d2078f59b10c94f9" data-path="videos/summoning.mp4" />

## Let me show you how it works

With just a few lines, you can register your task types and summon Meeseeks:

<Steps>
  <Step title="Press the button">
    ```kotlin theme={"theme":"dracula"}
    val bgTaskManager = Meeseeks.initialize(applicationContext) {
        register<SyncPayload>(SyncPayload.stableId) { SyncWorker(applicationContext) }
    }
    ```
  </Step>

  <Step title="Make a request">
    ```kotlin theme={"theme":"dracula"}
    val taskHandle = bgTaskManager.oneTime(SyncPayload(...))
    ```
  </Step>

  <Step title="Meeseeks fulfills the request">
    ```kotlin theme={"theme":"dracula"}
    taskHandle.observe().collect { status ->
        // Pending -> Running -> Finished
    }
    ```
  </Step>

  <Step title="And then it stops existing" />
</Steps>

## Next steps

<CardGroup cols={3}>
  <Card title="Intro to Meeseeks" icon="check" iconType="duotone" href="/docs/intro">
    Dive into Meeseeks' core architecture and how it handles tasks behind the scenes.
  </Card>

  <Card title="Quickstart" icon="bolt" iconType="duotone" href="/docs/quickstart">
    Learn how to get up and running with Meeseeks in just a few minutes.
  </Card>

  <Card title="Cookbook" icon="book" iconType="duotone" href="/cookbook/overview">
    Browse real-world examples and recipes for common scheduling scenarios.
  </Card>
</CardGroup>

## Built with ❤️ by

<CardGroup cols={3}>
  <div className="block dark:hidden">
    <Card title="Store" img="https://mintcdn.com/mattramotar-a9de11b3/S1vRCVN5S6JipSGV/images/store-light.png?fit=max&auto=format&n=S1vRCVN5S6JipSGV&q=85&s=2879208d9fe7860d55263eb7cdabc4f8" href="https://store.mobilenativefoundation.org/" className="block dark:hidden" width="1600" height="900" data-path="images/store-light.png">
      The solution for working with data in Kotlin. Whether you’re building alone or
      with a team of thousands, Store can help.
    </Card>
  </div>

  <div className="hidden dark:block">
    <Card title="Store" img="https://mintcdn.com/mattramotar-a9de11b3/S1vRCVN5S6JipSGV/images/store-dark.png?fit=max&auto=format&n=S1vRCVN5S6JipSGV&q=85&s=219f4a234f02161105c738db5b8bcfe0" href="https://store.mobilenativefoundation.org/" width="1600" height="900" data-path="images/store-dark.png">
      The solution for working with data in Kotlin. Whether you’re building alone or
      with a team of thousands, Store can help.
    </Card>
  </div>

  <Card title="Mobile Native Foundation" img="https://mintcdn.com/mattramotar-a9de11b3/S1vRCVN5S6JipSGV/images/mobile-native-foundation.png?fit=max&auto=format&n=S1vRCVN5S6JipSGV&q=85&s=1b27330705511f174a4fd99859adc5fd" href="https://mobilenativefoundation.org/" width="1600" height="900" data-path="images/mobile-native-foundation.png">
    Improving engineering for large-scale mobile applications.
  </Card>

  <Card title="Kotlin Foundation" img="https://mintcdn.com/mattramotar-a9de11b3/S1vRCVN5S6JipSGV/images/kotlin-foundation.png?fit=max&auto=format&n=S1vRCVN5S6JipSGV&q=85&s=f4a3bd6e6118ab367931894828735f1c" href="https://kotlinfoundation.org/" width="1600" height="900" data-path="images/kotlin-foundation.png">
    Protect, promote and advance the development of the Kotlin programming
    language.
  </Card>
</CardGroup>
