I Swapped the ML Model in My Android App. The App Had No Idea.

Towards AI
Machine Learning

How interface-driven design makes model upgrades invisible to your Android codebase. FinRisk is a credit risk classifier android application that I built to explore on-device ML. The app runs entirely on-device. No server, no API, no internet. It takes three inputs: income, debt ratio, and credit score. These inputs decide whether to approve or flag a loan application in under 15 milliseconds on a phone. I copied one file, finrisk_classifier.tflite, into app/src/main/assets/, replacing the old one. Ran the app. Same LiteRtRiskClassifier. Same RiskAssessmentViewModel. Same UI.