1
0 Comments

I thought I had one product. Then I found my web app and Android app had become two different systems.

I am building TransferIQ, a tool for comparing international money transfers, FX, and crypto remittance routes.

I am not a professional developer. My background is fintech and crypto operations, and I have been building this with AI assistance.

A few days ago I found a problem that scared me more than a normal bug.

The web version looked fine.

But the Android app started showing slightly different results.

At first it looked like a small UI issue. Some stablecoin labels were breaking strangely:

USDT became:

US

DT

USDC became:

US

DC

That was annoying, but not dangerous.

Then I noticed something worse.

Some providers in the Android app were showing the exact same upper estimate, even though they were different providers.

That made me compare the web version and the Android version side by side.

The real issue was not the UI.

The real issue was that my web app and Android app had slowly become two separate implementations of the same product.

Small changes had accumulated:

- A provider filter fixed on web but not app

- A crypto route rule changed in one place but not the other

- A benchmark ceiling applied differently

- A disabled provider appearing again

- A selected crypto asset possibly not matching the internal rate source

For a normal app, this would already be bad.

For a finance comparison tool, it is worse.

A broken button is obvious.

A crashed app is obvious.

But a wrong financial estimate that still looks reasonable is dangerous.

If the screen says BTC → BRL, but part of the internal benchmark is still using a stablecoin reference, the user may never know.

This made me realize something important:

UI can be different across platforms.

But calculation logic cannot be different.

My next step is to stop adding features and focus on architecture:

1. Move quote logic into a shared quote engine

2. Use the same JSON fixtures for web and app

3. Add golden tests for major currency pairs

4. Add parity tests between web and Android

5. Add regression checks for disabled providers

6. Verify selected crypto asset and rate source always match

7. Run these tests before every build

The lesson for me:

AI helped me build much faster than I expected.

But speed also made it easier to create hidden divergence.

I did not just need more code.

I needed stronger boundaries.

For other solo founders using AI:

How do you prevent your web and mobile versions from drifting apart?

Do you start with a shared core first, or do you build parity tests after the first version works?

posted toAvatar for product TransferIQ
TransferIQ