Maddy · Android

Getting Maddy on Android

How cross-platform apps actually work, and the plan to a public Play Store link for the AuDHD folks asking for it. Plain language, no jargon.

No paywall in the beta No RevenueCat needed Same app as iPhone

1 It's one app, not two

The thing that makes this feel confusing at first: you are not building two separate apps.

One codebase
the Maddy repo
iPhone app
built for iOS
Android app
built for Android

About 95% of the code is shared. Both apps come from the same source.

You write a feature once. It becomes the iPhone app and the Android app from the same code. The only "separate" parts are tiny platform-specific tweaks (like the Android keyboard fix, which only Android needed) and each store's own setup. Day to day, one change lands on both.

2 Two ways to ship a change

This is the piece most people never get told. There are two totally different speeds.

Most changes

Over-the-air

New screens, wording, layout, logic. The app people already have quietly updates itself the next time they open it. Both iPhone and Android at once, in minutes, no app store, no waiting.

Occasional

A new build

New permissions or deep native features (like the keyboard fix, or a system upgrade). These go through the stores. Slower, but comparatively rare.

So most of the time you change something once and push it over-the-air, and everyone on both phones has it shortly after. You only cut fresh store builds for the occasional deep change.

3 How testers actually get it

The download link that gave you a headache is a developer shortcut. It is not how you hand an app to real people.

Those "unknown sources" and security warnings are Android correctly protecting people from apps that skip the store. For an AuDHD tester, that friction is a dealbreaker. Your instinct was right: it's the wrong tool for testers. The right way is each store's own beta channel.

 iPhone testersAndroid testers
The toolTestFlight (Apple's beta app)Google Play testing track
Installtap a link, install, donetap a link, installs from the Play Store, done
Updatesautomaticautomatic
Scary warningsnonenone

You already have the iPhone side. The Android equivalent, the real "Android TestFlight," is a Play testing track. That is what the Reddit folks will use, not a sideloaded file.

4 The Android tracks, and which door is public

Google Play has a ladder of testing rooms. You pick how public you want to be.

Internal
Small and fast. Up to 100 people you add by email. Live within minutes, no full review. Smooth Play Store install. Great for a first ring while you prep the public listing.
Closed
A bigger invited group. Email lists or a Google Group. Optional middle step.
Open
Public. This is the one for Reddit.Anyone with the link joins and installs straight from the Play Store. Your listing becomes publicly findable. Needs a finished store listing plus a Google review.
Production
The full public launch on the Play Store. Later.
Good news for us: because the app is registered under your LLC (an organization account), you skip the painful new-account rule that forces personal accounts to run a 12-tester, 14-day closed test first. We can go straight to open testing.

5 The plan

Same no-paywall build for both. Two phases so people can start soon while the public door opens.

Phase 1 · about an hour

Internal testing, for a first small ring

Put the no-paywall build on Internal testing so a handful of people install it cleanly from the Play Store (no sideload, no warnings) right away. This also lets us shake out anything Android-specific on real devices before it goes public.

Blocked by: almost nothing. A short setup and an upload.

Phase 2 · a few days incl. Google review

Open testing, the public link for Reddit

Complete the store listing and content declarations, upload the same build to the Open track, and submit. Once Google approves, you get a public opt-in link that installs Maddy straight from the Play Store. That's the link you post to the AuDHD community.

Blocked by: the store listing + declarations below, then a review wait.

Reused from iPhone: most of the store listing (screenshots, descriptions, privacy policy, the data-safety answers) already exists from your App Store submission, so this is less work than it looks.

6 The checklist

Tap to tick items off. Your progress is saved on this device.

Build · I do this

Create the no-paywall beta branchAndroid fixes + billing switched off + the beta channel, kept unmerged from the App Store version
Cut the Android app bundle (.aab)Targets Android 15 (API 35), which meets Google's current bar. Signing key already set up.

Play Console one-time setup · you do this, ~30 to 60 min

Store listing textApp name, short description, full description (reuse the App Store copy)
Graphics512×512 icon, 1024×500 feature graphic, at least 2 phone screenshots (reuse iPhone shots)
Category + contact details
Privacy policy URLSame one you used for the App Store
App accessSince Maddy needs a login, give reviewers a demo account so they can get in
Ads declarationNo ads
Content rating questionnaireThe IARC form, a few minutes
Target audience & content
Data safety formWhat data Maddy collects. Mirror your iOS App Privacy answers.
Health / financial / government / news declarationsAnswer only the ones that apply (likely a quick "no" to most)

Go public · we do this together

Upload the .aab to the Open testing track
Write the short "what to test" note
Roll out and submit for reviewA few days for a first public release
Grab the public opt-in link once approved
Post it to the AuDHD community 🎉

Optional head start · do it now if you want people in sooner

Put the same build on Internal testing + add a few emailsClean Play Store install for a first ring while the public review runs

7 Where we already are