Mixed phones
A couple app that works on iPhone and Android
If one of you is on iOS and the other on Android, you have almost certainly hit the problem where the app you both liked turns out to be half-built on one side. HeartTap ships the same app to both stores from a single shared codebase.
The actual problem with mixed phones
Cross-platform support in this category used to mean simply existing on both stores, and a lot of the advice still written about it stops there. That test is not very useful any more, because most of the major couple apps do now ship on both. Locket, noteit and Widgetable are all on Google Play as well as the App Store, whatever older comparison articles say.
The real problem is subtler. A great many apps are designed on iOS, launched on iOS, and ported to Android afterwards by a smaller effort. The Android build exists, so the store listing passes the check, but it trails on features, gets updates later, and the widget in particular is often the last thing to catch up because widgets have to be written twice no matter what.
The consequence for a mixed couple is a lopsided relationship with the app. One of you has the thing everyone is posting about, and the other has a version that mostly works. That asymmetry is what makes couples abandon these apps, rather than any single missing feature.
How HeartTap is built
HeartTap is written with Kotlin Multiplatform. The logic that decides what a status is, how a drawing is stored, when a streak increments and what a question does is written once and compiled into both apps. There is no iOS codebase and a separate Android codebase drifting apart from each other over time.
The parts that genuinely must be native are native, because they should be. iOS widgets are built with WidgetKit and SwiftUI, Android widgets with Glance, and each follows its own platform’s conventions so that the widget looks like it belongs on the phone it is sitting on. That is the only place the two diverge, and it is deliberate.
Feature parity
| Feature | iPhone | Android |
|---|---|---|
| Status widget with photo, video or colour | Home and lock screen | Home and lock screen |
| Drawing widget | Yes | Yes |
| Live shared drawing canvas | Yes | Yes |
| Question library with hidden answers | Yes | Yes |
| Daily check-in | Yes | Yes |
| Shared timeline with replies | Yes | Yes |
| Push notifications | Yes | Yes |
| Streaks and levels | Yes | Yes |
Setting up on two different phones
Each of you installs from your own store, then one of you sends an invite link and the other opens it. It does not matter which platform sends the invite. Once linked, adding the widget is the only step that differs, and it differs only because the two operating systems do it differently.
Step by step for both: adding the widget on iPhone and adding it on Android. The Android guide also covers battery optimisation, which is the single most common reason a widget stops refreshing and is worth doing while you are in there.
Frequently asked questions
Can an iPhone and an Android phone use the same couple app?
Yes, provided the app ships on both stores and syncs through a shared backend, which most of the well-known couple widget apps now do. The two of you install from your own store, link your accounts, and everything you send crosses between platforms. There is no separate iPhone version and Android version of your shared history.
Does the widget look the same on both?
Nearly, but not exactly, and that is by design. iOS widgets are built with WidgetKit and Android widgets with the system’s own widget framework, so each one follows its platform’s conventions for corners, spacing and how you add it. The content is identical. The frame around it looks native to the phone it is on.
Are the available widget sizes the same?
Roughly. iOS offers a fixed set of small, medium and large sizes plus lock screen widgets. Android is more flexible and lets you resize on a grid, which varies a little by launcher. In practice both platforms comfortably fit a large photo widget on the home screen and a small one on the lock screen.
Does one platform get features first?
HeartTap is built with Kotlin Multiplatform, so the shared logic ships to both at once and only the platform-specific pieces, mainly the widgets themselves, are written twice. That keeps the two sides much closer together than a codebase where the Android app is a separate port following behind.
What if my partner switches phones later?
Sign in on the new phone with the same account and everything is there, including the partner link and the timeline. You do not need to unlink and relink, and switching from iPhone to Android or the other way does not lose your history.
Is there anything that only works on one platform?
A few platform-native surfaces exist on one side only, because the other platform does not have an equivalent. Live Activities and the Dynamic Island are iOS concepts with no Android counterpart, for instance. Nothing central to using the app as a couple is limited to one platform.
Install on whichever phone you have
Free on the App Store and Google Play. Link with your partner in about a minute, whichever way round you are.