Case studies
Wealth management / mutual fund distribution · 2021

One app to track a multi-asset private portfolio

One app to track a multi-asset private portfolio

Client
I-Solutions (ISOLN Wealth)
Duration
16 weeks
Status
Shipped
Stack
Flutter 2.x · Chopper (Dart HTTP client) · FastAPI · SQL Server

What we solved

Private clients at an Indian wealth advisor (ISOLN Wealth, AMFI-registered, ARN-147547) hold investments spread across mutual funds, insurance policies, fixed deposits, and equity - often across more than one relationship. Getting a single view of portfolio valuation, liabilities, and total life cover meant stitching PDFs and quarterly statements together. I-Solutions needed one app clients would actually open: portfolio valuation with clean charts, calculators that do the maths, KYC done right, and state that agreed across devices. No live market trading - this is a wealth-advisor reporting app, not a brokerage.

The system at a glance

A Flutter app for iOS and Android. Mobile- or email-login, KYC onboarding (PAN, Aadhaar, selfie). Dashboard summarising total portfolio valuation, liabilities, net worth, and total life cover. Per-asset reports, transaction history, SIP calculators, ledger. Chopper (Dart HTTP client) talks to a FastAPI backend with SQL Server underneath. A client-facing chat feature runs through a custom API fronting GPT-4. Hosted on AWS. Published to App Store and Google Play.

What the user experiences

  • Onboard with mobile number or email, then KYC: PAN, Aadhaar, selfie. Verification is in-house.
  • Dashboard: total portfolio valuation, liability, net worth, total life cover, AUM growth chart - one screen.
  • Equity report: angel-broking and non-demat holdings, cap-wise summary.
  • Client report: bank and demat details per family member.
  • Transactions: insurance, mutual funds, fixed deposits, commodities - filtered by member.
  • Purchase history: categorised by type and family member.
  • Calculators: SIP, step-up SIP, SIP + SWP, lumpsum, lumpsum + SWP.
  • Ledger: inflow, outflow, net investment.
  • Notifications: advisor messages and valuation refreshes via FCM.
  • Assistant: ask a question, get an answer from the GPT-4-backed advisor chat (via our proxy, not a direct OpenAI call).

How we built the pieces

KYC - server-encrypted, reviewed in-house

PAN, Aadhaar, and selfie images upload to the FastAPI backend, encrypt at rest, and sit in a review queue. The advisor team approves or rejects via an internal console. Trading/transaction functions stay disabled server-side until KYC passes. No PII lives unencrypted in the app cache.

Portfolio data - typed client, typed server

Chopper generates a typed Dart client from the API contract; FastAPI’s Pydantic models generate the server contract. A field rename on the server fails the client build, not production on Friday evening. For a finance app touching multiple asset classes, typed at both ends is non-negotiable.

SQL Server, not a document store

Portfolio data is fundamentally relational: clients, family members, holdings, transactions, insurance policies, FDs. SQL Server fits the shape. Joins are cheap; a single query builds a family portfolio across five asset types.

Valuation, not live ticking

Valuations refresh from AMFI NAV feeds and insurance premium tables on scheduled jobs - not on live socket ticks. This app is a wealth-advisor reporting tool, not a trading terminal. FCM pings the client when valuation changes materially (≥ threshold) or when the advisor posts a note.

The chat assistant - OpenAI key stays on the server

The client’s spec called out an in-app chat tied to GPT-4. The OpenAI key lives on our server; the app authenticates and requests through our custom endpoint. Rate limiting and system-prompt scaffolding happen server-side. Swapping models (GPT-4 → GPT-4o → future) does not require an app release.

The regulatory pipe is where the work sits

Three things make this app credible for a regulated distributor: KYC that compliance can live with, valuations that align with AMFI data, and cross-device state that agrees. Anyone can draw a dashboard. The hard part is the pipe feeding it - and, in India, the regulatory trail behind the pipe.

Results

  • iOS + Android live on App Store + Play Store.
  • KYC, portfolio valuation, calculators, ledger, and advisor notifications all working.
  • GPT-4 assistant integrated without the key ever leaving the server.
  • Family-level views for clients who manage money across relatives.

What an engineering team should take from this

If you are building any multi-asset fintech reporting product:

  1. Typed HTTP client, always. Chopper or Retrofit on the mobile side, Pydantic on the server. The rename-breaks-nothing days are over.
  2. Choose the data shape that fits, not the trendy one. Relational portfolio data is SQL’s sweet spot, not a document store’s.
  3. KYC is a server problem. Store encrypted, scope by role, never let a device hold the only copy - especially in regulated markets.

Tech stack

  • Mobile: Flutter (iOS + Android)
  • HTTP client: Chopper (typed Dart client)
  • Backend: FastAPI (Python, typed endpoints)
  • Database: SQL Server
  • Auth + push: Firebase Auth, FCM
  • Charts: syncfusion_flutter_charts
  • AI: custom backend API in front of OpenAI GPT-4
  • Infra: AWS hosting

Trust signals for this case study

  • Regulatory: AMFI-registered mutual fund distributor (ARN-147547, valid through June 2027)
  • Experience: 18+ years in wealth management
  • Location: Mumbai (Ghatkopar East)
  • Client access: live login portal at https://isoln.in/

Screens

Dashboard, equity report, client report, and transaction list screens

Reference architecture

The stack, one-pass.

Named pieces, how they connect, and why each one earned its spot.

  • 01Flutter 2.x

    one codebase for iOS + Android (era-appropriate for 2021)

  • 02Chopper (Dart HTTP client)

    typed HTTP client against the FastAPI backend

  • 03FastAPI

    typed Python endpoints for portfolio, ledger, KYC, and calculator APIs

  • 04SQL Server

    relational store for clients, holdings, transactions, family relationships

  • 05Firebase Auth + FCM

    managed auth and push for portfolio-update notifications (valuation refreshes, advisor messages)

  • 06syncfusion_flutter_charts

    production charts for net worth, AUM growth, and per-asset reports

Full stack

Every piece, named.

  • Flutter 2.x
  • Chopper (Dart HTTP client)
  • FastAPI
  • SQL Server
  • Firebase Auth + FCM
  • syncfusion_flutter_charts
  • Custom API fronting OpenAI GPT-4
The team on the call

Named engineers, not a pool.

You speak to the person who’ll review the architecture. No account-manager layer. No offshore switcheroo.

Founder & Lead Engineer

Sameer Donga

Shipping Flutter, FastAPI, and AI systems since 2019. Reviews the architecture on every engagement.

Start a similar build

You have the reference. Now the project.

Tell us the shape of your version. We come back with a written architecture and a fixed quote.