Skip to main content

๐Ÿ“Š ulives vs LifeUp โ€” Why We Rebuilt from Scratch

LifeUp is a pioneering gamified productivity app we launched in 2018, and ulives is its official spiritual successor โ€” rebuilt from the ground up for a multi-platform future. This document explains the differences, the reasoning behind the rewrite, and what to expect from both apps going forward.


Quick Comparisonโ€‹

LifeUp (ไบบๅ‡)ulives
PlatformAndroid onlyiOS ยท iPadOS ยท macOS ยท Android
TechnologyNative Android (Java / Kotlin)KMP + SwiftUI / Jetpack Compose
Release20182025
PricingPaid downloadยนFree download + Premium subscription
UIMaterial Design 2 + 3 (dual)Native platform design (SwiftUI / Compose)
Cross-platform Data SyncNot plannedUniversal data format across all platforms
Online FeaturesWorld module (basic)Not yet โ€” online asset library planned
API / Extensibilityโœ… Open API + open-source SDKยฒโŒ Not yet (multi-platform design needed)
LifeUp Data Importโ€”โœ… Supported
Data Exportโœ… Full exportโœ… Full export

ยน Also available via Google Play Pass in select regions.
ยฒ Includes LifeUp Cloud, LifeUp SDK, and LifeUp Desktop.


Why We Rebuilt Instead of Upgradingโ€‹

1. Platform Lock-inโ€‹

LifeUp was built entirely with Android-native technology (Java, then Kotlin). Porting it to iOS, HarmonyOS, desktop, or the web was never feasible โ€” the codebase simply could not be reused. To reach users beyond Android, a full rewrite was the only path.

2. Accumulated Technical Debtโ€‹

LifeUp's early architecture made pragmatic trade-offs for speed:

  • Database layer: chosen for rapid prototyping but now a performance bottleneck at scale
  • Attribute system migrations: started as 6 fixed attributes โ†’ customizable 6 attributes โ†’ fully customizable list with grouping โ€” each migration layered complexity on top of old code
  • UI dual maintenance: we still support both Material 2 and Material 3 themes, doubling the design and QA effort for every change

These are real problems, but fixing them in-place would mean rewriting most of the app anyway โ€” with constant risk of breaking existing user data.

3. Design Constraints from Early Decisionsโ€‹

LifeUp grew organically from community feedback โ€” a strength, but one that locked many features and UI patterns in place. Changing them in-place would break existing data, workflows, or both:

  • UI styles baked in โ€” we still maintain full Material 2 and Material 3 themes side by side; every screen exists in two variants, so a visual or structural overhaul means double the design, code, and QA for every change
  • Task repeat storage model โ€” repeating tasks spawn per-occurrence instance clones rather than a unified cycle model; that schema is woven through history, rewards, statistics, and exports โ€” redesigning it touches nearly every module
  • Gold Coins as a first-class system โ€” coins are not just another item; they have dedicated storage, UI, and APIs. The shop, synthesis, and inventory were built around this flat currency, which is why those systems feel disconnected
  • Built-in reward rules (step-count โ†’ Strength XP, likes โ†’ rewards, fixed system achievements) โ€” early "app-defined rules" that don't fit the fully custom ethos we later evolved toward
  • Scattered history views โ€” task history, coin ledgers, timer records, and inventory live on separate screens with different data shapes
  • World module mechanics โ€” an early online experiment with its own server-side logic; we maintain the basics, but expanding it would require re-architecting cost and data models never designed for scale
  • Multiple login channels โ€” Google, email, phone, and other paths accumulated over years; account binding, recovery, and license transfer grew around each one, adding friction whenever we touch auth or support

These aren't isolated bugs โ€” they're years of real user data and habits baked into the product. Refactoring them one by one still means rewriting most of the app anyway.

4. We Couldn't Subtractโ€‹

Every feature in LifeUp has users who rely on it. Removing or redesigning anything in-place would break someone's workflow. A fresh start gave us the freedom to make deliberate choices about what to carry forward.


What ulives Bringsโ€‹

New Features (ulives only)โ€‹

FeatureDescription
Countdown DaysTrack upcoming dates and milestones alongside your tasks
Multiple ProfilesSwitch between entirely separate setups (e.g. "Work" vs "Personal")
Task CapsulesGroup tasks into collapsible capsules for cleaner organization
Unified Activity TimelineOne scrollable feed for all history โ€” tasks completed, rewards redeemed, timers, and more
Currency โ†’ Item SystemCurrency is no longer a separate concept โ€” coins are just items, and items can be currencies
Focus ModesPomodoro with Live Activities (Dynamic Island), iOS widgets
iPad & macOS SupportFull large-screen adaptation for tablets and desktops
iCloud BackupSeamless Apple-native backup and restore
App Icon SwitchingChoose from multiple app icons on iOS
iOS WidgetsHome screen and lock screen widgets for quick task check-ins

Features Not Yet in ulivesโ€‹

These LifeUp features won't appear in ulives immediately. We may reintroduce refined versions later:

  • ATM (compound interest simulation)
  • Item countdown timers
  • System achievements and built-in rewards
  • Step-count โ†’ attribute reward mapping
  • Like-count โ†’ reward mapping

LifeUp's Enduring Advantagesโ€‹

Despite its age, LifeUp remains strong in several areas:

AdvantageDetails
Android stabilityYears of battle-testing and polish on the platform
Smart ListsAdvanced task filtering and grouping
Open API ecosystemREST API to query and modify app data programmatically
Open-source ecosystemLifeUp Cloud (self-hosted sync), LifeUp SDK (Java/Kotlin), LifeUp Desktop (cross-platform companion)
Automation integrationWorks with Tasker, custom scripts, AI agents, and other automation tools
Lower price pointOne-time purchase (no subscription) in most regions
Mature feature setEverything has been refined across years of real-world use

The API ecosystem in particular gives LifeUp a "developer-friendly" layer that ulives does not yet match. Users have built sophisticated workflows โ€” automated habit tracking with Tasker, AI-powered task generation, custom dashboards โ€” by combining LifeUp's API with other tools.


Pricing & Business Modelโ€‹

LifeUp and ulives are separate apps with separate stores, purchases, licenses, and data. Importing a LifeUp backup into ulives does not transfer your LifeUp license.

Why They Cannot Share One Purchaseโ€‹

LifeUp has always been built with pure Android-native technology. Because it is confined to a single platform, LifeUp's pricing was intentionally set low โ€” it is not realistic for one purchase to buy out a developer's entire portfolio across every future app.

On Google Play, LifeUp lifetime membership started around $1 USD and has been adjusted over the years to about $4 USD today โ€” still extremely low (many comparable apps launch at $30โ€“40+ lifetime or raise prices every month). On domestic Android channels, permanent membership rose from about ยฅ6 to ยฅ29.8 over roughly eight years after membership was introduced. That revenue is not enough to fund full-time development for LifeUp alone, let alone cross-platform maintenance and operations for ulives.

ulives is a greenfield rewrite on cross-platform (KMP) technology, built by a different team on a new stack โ€” ulives did not exist when LifeUp's pricing was set. Its pricing reflects development cost, a not-fully-unified team, and long-term maintainability across platforms.

We could make the two memberships interchangeable. That would be bundled sales: anyone who bought LifeUp's low-priced lifetime tier would also get ulives forever. The honest way to offer that bundle would be to raise LifeUp's price substantially from the start so one purchase covers both apps. We chose not to do that โ€” LifeUp keeps its Android-only pricing, and ulives is sold separately. Both apps offer lifetime membership at prices well below most comparable products โ€” but they serve different scopes and cannot share entitlements today.

LifeUp paid members are not losing anything. Non-transferability with ulives does not roll back LifeUp benefits. LifeUp has had eight years of maintenance and feature updates since membership was introduced; existing paid users will continue to receive their entitlements, and we remain committed to LifeUp development โ€” including substantial recent releases such as the MCP server.

ulives is designed so that Premium Access will eventually work across iOS, Android, and HarmonyOS with shared data and benefits. We do not yet operate a server or account system, so entitlements currently rely on each platform's in-app purchase validation. Early cross-platform redemption may require contacting us for platform-specific codes; we plan to introduce server-side account management when ready.

LifeUp on Google Play: Paid Downloadโ€‹

On Google Play, LifeUp uses paid download plus a relatively low-priced lifetime membership. That double barrier limits how many people can try the app, which reduces feedback and update momentum โ€” and ultimately hurts the experience for existing members too.

LifeUp also carries ongoing server costs, a large base of low-barrier lifetime members, and many manual license-transfer requests โ€” including users from years ago who need help finding accounts across numerous login methods. These operational costs further constrain how much we can reinvest.

Beyond Code: Support Work That Steals Dev Timeโ€‹

We are a spare-time indie team โ€” not a company with a support department. Every hour spent on email, license transfers, or one-off negotiations is an hour not spent fixing bugs or shipping features for everyone, including paying members.

The screenshots below are real (personal details redacted). Over roughly one month, the same user sent many emails to our LifeUp support address โ€” repeatedly asking for steep discounts or free access, requesting detailed comparisons with Habitica, Do It Now, Skillion, and later ulives, and asking us to prove the app was worth buying before they would pay. We replied a few times, but the volume and back-and-forth quickly exceeded what we could sustain alongside development, so we had to stop engaging.

LifeUp support inbox: repeated discount and comparison requests over one month

When ulives Android received its first public store review, we recognized the same name โ€” a one-star rating on an early alpha build with the comment "Ne marche pas bien !" ("Doesn't work well!").

ulives Android: first store review on an early alpha build

We are not sharing this to call anyone out. Budget constraints are real, and we understand frustration. But this pattern โ€” expecting ongoing personal consulting, custom pricing, and proof-before-purchase from a two-person spare-time project โ€” directly competes with the development time ulives and LifeUp both need. That is part of why sustainable pricing and clearer boundaries matter: so we can keep building instead of drowning in unsustainable support load.

ulives Development Investmentโ€‹

Building ulives consumed substantial time and resources. Nearly every feature was redesigned from user feedback before being integrated โ€” for example, Smart Lists launched with built-in lists, "My Day", and custom smart lists together. Ongoing AI tooling, polish, and App Store work add further cost. Sharing LifeUp's pricing or membership is not sustainable for ulives.

Some users ask why ulives cannot share LifeUp membership โ€” including questions about Premium-only features such as auto-unlock achievements. ulives and LifeUp are separate products with separate pricing. Premium features fund cross-platform development and long-term maintenance.

An Unhealthy Loop We Are Moving Away Fromโ€‹

On Google Play and other overseas stores, LifeUp has always used paid download plus a relatively low-priced lifetime membership โ€” there is no free-download, "mostly free features" model in those markets. That combination is difficult to sustain long term:

  • Paid download lowers conversion โ€” fewer people try the app, which means slower user growth, less feedback, and less momentum for updates
  • Low-priced lifetime membership โ€” after purchase, recurring revenue is limited, making it harder to fund servers, support, and ongoing development
  • The result: insufficient revenue โ†’ less maintenance and slower updates โ†’ a degraded experience for everyone, including paying members

ulives is intentionally priced to break that loop. Membership tiers, feature gates, and cross-platform plans are designed first for long-term maintainability โ€” so revenue can keep funding development, automated tests, platform adaptation, and support, rather than repeating LifeUp's unsustainable overseas path. Healthy products need reasonable pricing, reasonable member value, reasonable developer revenue, and reinvestment that supports growth.

ulives Built for Long-Term Maintainabilityโ€‹

Beyond pricing, ulives is architected for sustainability:

  • Greenfield design on KMP โ€” core business logic, data models, and rules are built once and shared across iOS, Android, and HarmonyOS, with native UI per platform. That reduces duplicated engineering work compared with maintaining separate native codebases on each platform
  • Lower ongoing operational load โ€” LifeUp also carries server costs, manual license transfers, account recovery across many login methods, and other ops work that becomes a long-term burden. ulives is designed to avoid repeating that overhead where possible (entitlements still rely on each platform's store validation today; server-side accounts are planned when the product is ready)

Features Flowing Back to LifeUpโ€‹

ulives development has also improved LifeUp. Examples include merging the shop, warehouse, and synthesis systems, and expanding purchase/use restrictions.


How Both Apps Will Evolveโ€‹

LifeUp: Stable Maintenanceโ€‹

We are committed to maintaining LifeUp for the foreseeable future. However:

  • New feature development is constrained โ€” Android-only, legacy compatibility without comprehensive automated tests, and accumulated debt (Material 2/3 dual maintenance, database performance trade-offs)
  • We develop cautiously and validate longer, focusing on bug fixes, performance, stability, and incremental improvements
  • We do not plan to add major new feature modules
  • Existing feature parity across the dual Material 2 / 3 themes will be maintained
  • The open-source ecosystem (Cloud, SDK, Desktop) will continue to be available

ulives: Bold Innovationโ€‹

ulives is where we invest in the future:

  • Extensive automated tests let us change logic with confidence
  • KMP shared data layer โ€” data-model changes can be reused across iOS, Android, HarmonyOS, and potential future desktop targets with minimal duplication
  • Native UI per platform โ€” SwiftUI on Apple, Jetpack Compose on Android โ€” for faster iteration and platform-specific features (e.g., Live Activities)
  • Online features โ€” we plan online asset libraries, shared templates, and other community features that were never feasible in LifeUp's architecture

Data: Import, Export, and Continuityโ€‹

CapabilityLifeUpulives
Export full dataโœ… (DB + media files)โœ… (DB + media files)
Import LifeUp dataโ€”โœ…
Cross-app syncโŒPlanned (same data format)

If you're a LifeUp user switching to ulives, you can import your LifeUp backup and continue where you left off. Both apps export complete snapshots โ€” including your database and media attachments โ€” so your data is never locked in.


Which App Should You Use?โ€‹

Your situationRecommendation
Android user, need API / automationLifeUp โ€” mature and feature-rich
Android user, want the latest featuresulives on Google Play โ€” available now, still being improved; or LifeUp if you need mature automation/API
iOS / iPad / Mac userulives โ€” the only option, and purpose-built for Apple platforms
Multi-platform userulives โ€” data will sync across all your devices
LifeUp user who feels "locked in" on Androidulives โ€” import your data and gain cross-platform freedom
Android-only, want lowest lifetime priceLifeUp
Multi-platform or Apple userulives โ€” separate purchase, long-term cross-platform Premium planned
Want free trial + premium unlockulives

Summaryโ€‹

LifeUp was โ€” and still is โ€” a remarkable app that pioneered gamified productivity on mobile. But its Android-only architecture, accumulated technical debt, and legacy design constraints made it impossible to evolve into a modern multi-platform product.

ulives is our answer: a clean-slate rebuild that keeps the soul of LifeUp (deep customization, RPG-inspired progression, user-driven gamification) while unlocking iOS, iPadOS, macOS, and Android โ€” all sharing one codebase and one data format.

Both apps will continue. LifeUp gets stability; ulives gets innovation.