A team had a tracking specification and a correct iOS implementation. They decided to generate the Android implementation by AI.
What could go wrong?
During implementation, AI noticed Android’s user model did not expose one of the required fields and decided to handle it this way:
> "Android’s current user model does not expose createdAt, so days_since_signup uses -1, matching the iOS fallback"
Technically, this looked reasonable.
The problem:
on iOS, the fallback existed only for edge cases when the backend did not provide the value.
On Android, the field simply was never implemented because nobody needed it before. The backend data still existed and could have been parsed normally.
So AI silently changed the business meaning of the property instead of identifying the missing implementation gap.
The feature worked. Tracking implemented and compiled. Events were sent. Dashboards would still receive data.
But one important analytics property would become permanently degraded on Android.
The issue was caught during PR review.
This is one of the dangerous parts of AI-assisted development:
the generated code often looks logically correct while subtly changing product semantics.
#AIEngineering #ProductAnalytics #AnalyticsEngineering #Tracking #SoftwareEngineering #AICoding
Originally published on LinkedIn by X91 Tech.
