Marketingtool-pro

MarketingTool — Phone App

Expo / React Native client for AI-powered marketing workflows on mobile. Appwrite for auth, Windmill for tool execution.

314 tools Expo SDK 57 API 36 target iOS & Android

Current release — 1.5.13

Google Play flagged three things against 1.5.12, and all three have been worked through. The deprecated edge-to-edge APIssetStatusBarColor, getStatusBarColor and setNavigationBarColor — were being called from two different libraries, React Native's own StatusBarModule and WindowUtilKt, and react-native-edge-to-edge. Play scans for the static bytecode reference, so wrapping the calls in a version check never cleared the warning; every call site now reaches them through reflection instead, which keeps the behaviour identical on Android 14 and below and removes the reference entirely. React Native ships as a prebuilt binary, so that half required re-publishing a patched react-android artifact and verifying with javap that no reference survived and that every method the original exposed is still present.

On R8, the real cause turned out not to be the setting first suspected: code shrinking was already enabled, but the build was pulling in the non-optimized default ProGuard file, which carries -dontoptimize and switches R8's optimization passes off wholesale. That file is now the optimized variant, and optimized resource shrinking is enabled alongside it. The remaining sub-item — Android Gradle Plugin 9.0 — is set by the Expo SDK and cannot be changed independently. The bitmap recommendation led to a genuine bug: picked and captured photos were being handed to the preview at full resolution, so a 12-megapixel photo became a ~48 MB bitmap and a 50-megapixel one roughly 200 MB. Images are now capped before they are decoded, which costs nothing in output quality because the saved image is a capture of the on-screen view. The app targets API 36. Play re-evaluates against an analysed release, so these results are confirmed by the store only once 1.5.13 has been through review.

Design

App Screens

Every screen of the phone app, as designed.

Open →

Project Page

Product overview and positioning.

Open →

Tool UI Blueprint

Five category templates replacing one generic execution page, with a single runtime contract.

Open →

Documentation

Architecture

How the system actually fits together — the request path for a tool run on each platform, how Windmill authenticates, what runs on each VPS, and the traps worth knowing before debugging.

Read →

Mobile Tools Policy

Same backend, models and execution logic as web. Display may be shortened — nothing else.

Read →

Stack

MobileExpo / React Native, Zustand, React Navigation
AuthAppwrite on both platforms · Firebase Auth for phone OTP, bridged into an Appwrite session via the phone-session function
ToolsWindmill — the web app calls it directly; the phone goes through the Appwrite tool-executor function
DataAppwrite databases · Supabase for web app data
DeliveryEAS Build with GitHub Actions — build and store submission on one dispatch