Back to projects

TimeTask

A cross-platform time tracker and task manager built entirely with Kotlin Multiplatform and Compose Multiplatform — one codebase for Android, iOS, and Desktop.

KotlinCompose MultiplatformMVI / Redux
🚀
Try it in your browser
Live web version — no install needed

Architecture

TimeTask follows the MVI (Model-View-Intent) pattern with a Redux-inspired unidirectional data flow. All state mutations go through a central store, making the app behavior predictable and easy to debug across all platforms.

The shared module contains business logic, data layer, and UI components. Platform-specific code is minimal — limited to dependency injection entry points and platform APIs (notifications, local storage paths).

// Project structure
shared/
├── commonMain/  ← Business logic, UI, state
├── androidMain/
├── iosMain/
└── desktopMain/
androidApp/
iosApp/
desktopApp/

Tech Stack

Kotlin

Primary language for shared business logic and platform targets

Compose Multiplatform

Declarative UI framework for Android, iOS, and Desktop

MVI / Redux

Unidirectional data flow architecture for predictable state management

SQLDelight

Type-safe SQL with multiplatform database access

Ktor

Asynchronous networking client for API communication

Koin

Lightweight dependency injection framework

Key Features

Focus Timer

Configurable Pomodoro-style timer with work/break intervals and session tracking

📱

Cross-Platform

Single Kotlin codebase targeting Android, iOS, and Desktop applications

🔔

Notifications

Local push notifications for timer completion and task reminders

🌐

Multilingual

Localized interface supporting multiple languages out of the box

View on GitHub
Source code and documentation