Back to projects
In production By Creapolis

Pepinillo.
Productivity without ceremony.
Just what you use every day.

A productivity app that doesn't ask you to learn it. Open, pick the task, start the Pomodoro. That simple.

Today

3 active tasks
12
Pomodoros
4.2h
Focus
8
Tasks
In progress
Landing design25 min
Review PRs10 min
Email client5 min
ANDROID · IOS · MACOS
Platform
Productivity
Category
ES · EN
Languages
Free
Price
Modules · What it does

Built with judgment, not a checklist.

Every module answers a real use case. No decorative features that look great in the demo and get in the way day-to-day.

P

Configurable Pomodoro

Adjust focus length, short and long breaks. Link a task to the session and focus on one thing.

T

Tasks with priority

List with priorities, due dates, and subtasks as checklists. Search and filter by state: pending, done, today, overdue.

C

Calendar view

Organize your tasks by date. Tap a day and see what you need to do. No friction, no nested menus.

S

Honest stats

Dashboard with real activity, averages, and focus hours. No gamification, no stressful streaks.

Timer + Stopwatch

When you don't need Pomodoro, use the configurable countdown or the stopwatch. Everything in one app.

Themes and personalization

Automatic light/dark, customizable colors. The Premium version unlocks extra themes and multi-device sync.

How I built it

Decisions that mattered.

01

The problem

Productivity apps are full of features nobody uses. Nested menus, labels, gamification, day streaks. All so you open the app, not so you work. 70% of Pomodoro apps are abandoned in the first week because they ask for setup before letting you work.

02

The stack decision

Android: Kotlin + Jetpack Compose. Not Flutter, because I needed WorkManager for background timers, Room for local persistence, and Material You for native system integration. iOS: Swift + SwiftUI. Not React Native because Live Activities and Dynamic Island have no cross-platform equivalent.

03

Offline-first by necessity

Pepinillo works without internet. Your data lives in Room (Android) or SwiftData (iOS). No server, no sync, no login. This was a design decision: a productivity app should not depend on the network to function. The tradeoff: no cross-device sync in the free version.

04

Timers that survive the background

The hardest problem: a 25-minute Pomodoro cannot die when the user minimizes the app. On Android, WorkManager with Foreground Service keeps the timer alive. On iOS, it is a combination of Background Tasks plus the alarm sounds even when the app is closed. Both platforms require completely different logic.

05

Notifications that do not bother

Pomodoro notifications: only when a session ends. No push marketing, no "did you do your Pomodoro today?". On Android, WorkManager schedules the exact alarm. On iOS, UserNotifications with Critical Alerts for the timer. The difference: iOS requires explicit permission for Critical Alerts, Android does not.

06

iOS: Live Activities and Dynamic Island

On iOS 17+, the timer appears in Dynamic Island and Lock Screen via Live Activities. This requires WidgetKit, ActivityKit, and a completely different architecture from the normal timer. The tradeoff: more visibility for the user, more complexity for the developer. Only worth it if the timer is the core of the app.

07

Android: Material You and Wear OS

Android benefits from Material You: dynamic colors that adapt to the user wallpaper. Wear OS extends the timer to the watch — session control without taking out the phone. Jetpack Compose makes the UI adapt to small screens without duplicating code.

08

Performance and real metrics

Cold start: < 400ms on both platforms. Memory: < 30MB with active timer. Crash rate: < 0.5% (Firebase Crashlytics). Battery: < 2% per hour of active Pomodoro. These metrics are measured on real devices, not emulators.

09

What I learned

Less is more when every element has a purpose. The most-used app is the one you do not have to think about to open. Jetpack Compose let me iterate the design five times without rewriting logic. SwiftUI taught me that Apple platforms have strong opinions — and sometimes it is better to follow your own.

Stack
KotlinJetpack ComposeRoomCoroutinesMaterial YouWorkManagerFirebase CrashlyticsSwiftSwiftUI
Download

Try it today.

Free, no accounts, no annoying ads. Open and use.

Something similar?

Need something similar?

If you liked this app and want one for your industry or your idea, let's talk. I build things like this every day.