Fixing portfolio trust for millions of mutual fund investors

2–3% of ET Money's mutual fund users were seeing incorrect portfolio values. At a platform managing ₹1,00,000+ Cr in AUM, that's not a small edge case — it's a trust problem.
The root cause was architectural. When ET Money pulled holdings from MF Central
MF Central API — Raw source of truth
SourceEverytime a user triggers an external fetch, we send a request to MF Central. Which in return sends us a feed. Containing
- Transactions
- Folio Numbers
- Holdings
- ….etc
Reconciliation engine
ET Money preprocessing- Match transactions to the holdings via Folio Numbers as unique identifiers.
- Identify External vs Internal
- Map to Goals, Strategies, Genius
Beyond accuracy, support ticket data showed SIP and transaction tracking queries were the top two complaint categories — these workflows were buried deep in the existing dashboard.
Phase 1 — Fix usability without touching the backend.

Phase 2 — Fix reliability at the architecture level
Instead of patching the preprocessing layer, I removed the dependency on it entirely. Introduced a top-level All / ET Money tab split. The All tab pulls holdings directly from MF Central with zero preprocessing — no reconciliation layer, no matching errors. The ET Money tab retains the structured product view required for SIPs, rebalancing, and goal tracking.

Phase 1’s navigation data validated the holdings-first architecture of Phase 2 — before a single Phase 2 screen was designed.
Validate the Current vs Lifetime toggle earlier with actual Genius and DIY users — even 3–4 calls each. We reached the right solution through iteration, but early qualitative input would have shortened that path.