
Context
Most habit trackers reward completing the whole list. Habits turn into one more list of obligations, and a single missed item makes the day feel failed: the classic all-or-nothing trap that makes people quit tracking altogether.
Enough Habits uses a different model. The user decides in advance how many habits are enough for a successful day: with 7 habits and a target of 3, completing any 3 closes the day. The rest stay genuinely optional. The product is designed to reduce productivity pressure and support sustainable progress instead of demanding everything.
NekaSoft built the product entirely in-house, from the concept and behavioral model to production infrastructure, as its own product.
What we owned
NekaSoft owns the whole product: concept, design, both client interfaces, backend, and production operations.
Product
- Product concept
- Behavioral domain model
- UX/UI and user scenarios
Mobile application
- React Native app for iOS and Android
- Backend API with JWT authentication
- Push notifications via Firebase Cloud Messaging
- Instant start from local cache
- Account management and deletion
Telegram interface
- App-like UX on one editable screen
- Habit management, archive, manual ordering
- Inline calendar with retroactive check-ins
- Statistics and RU/EN localization
Infrastructure
- Timezone-aware notification scheduling
- MongoDB, analytics, error monitoring
- Railway deployment and production operations
- Backups and migration tooling
Solution
The core of the product is the enough mechanic. The user creates a set of habits and sets a daily target: how many of them are enough. Completing any N habits from the list makes the day successful; the target is fixed for the day, and everything beyond it is a bonus, not an obligation.
- Daily target chosen by the user: any N completed habits close the day
- Statistics, streaks, and a calendar history of successful days
- Mobile application for iOS and Android on one React Native codebase, with instant start from local cache
- App-like Telegram interface: one editable screen, tab-like inline navigation, retroactive check-ins in an inline calendar
- Morning, evening, and per-habit reminders scheduled in the user's local time
- Adaptive scheduler on the Telegram side: wakes up exactly for the next due notification instead of constant polling, and recalculates on timezone changes
- Push delivery with atomic claiming against duplicate sends and automatic cleanup of invalid tokens
- The mobile application and the Telegram experience share the same core product model, but remain separate channels: accounts and data are not synchronized between them
Enough Habits defines success not as completing the whole list, but as reaching a minimum the user chose in advance. This philosophy is implemented in the domain logic itself, not only in the interface copy: the daily target is part of the data model, and the day is successful the moment it is reached.
Screenshots
Result
NekaSoft designed and built a multi-channel habit-tracking product end to end.
- A behavioral model where enough is real domain logic, not marketing copy
- A mobile application for iOS and Android on a single codebase
- An app-like Telegram interface as a second full product channel
- A production backend with authentication and notification infrastructure
- Timezone-aware reminders that follow the user's local time
- Analytics and error monitoring running in production
Production status
Enough Habits is in production with real users, including long-term ones. The Android app is available on Google Play, and the Telegram version is publicly available.
NekaSoft continues to develop the product as its own.
Technology
The mobile application is built with React Native, React, and TypeScript on one codebase for iOS and Android, with Firebase Cloud Messaging for push and Crashlytics for crash reporting. The backend runs on Node.js, Koa, and MongoDB with JWT authentication and a scheduled notification pipeline. The Telegram interface is built with grammY; Amplitude and Rollbar cover analytics and error monitoring. Deployed on Railway.
Building a product where the behavior model matters as much as the feature list?