Case Study: Democratizing Wealth Management for the Mobile Generation
Executive Summary
InvestWait Inc. aimed to disrupt the stagnant world of traditional wealth management. Millennial and Gen Z investors were alienated by high minimums ($50k+), clunky web portals, and opaque fee structures offered by incumbent banks. They demanded an experience akin to Instagram or Robinhood, but with the sophistication of a hedge fund.
We partnered with InvestWait to build a mobile-first investment platform that lowers the barrier to entry to just $5. The key innovations included Fractional Share Trading, AI-Driven Robo-Advisory, and Social Trading features.
Within 12 months of launch, the platform acquired 500,000 active users and reached $1.2 Billion in Assets Under Management (AUM). The app maintained a 4.9-star rating across both App Store and Google Play, setting a new standard for UX in fintech.
The Challenge
The Access Gap
Traditional brokerage infrastructure is built on the concept of whole shares. If Amazon stock costs $3,000, a user with $500 cannot diversify.
- Technical Hurdle: Implementing fractional trading requires an internal ledger that sits on top of the clearing firm's ledger. The platform must buy the whole share and virtually allocate 0.166 shares to the user.
- Latency: Users verify trades instantly. Relying on T+2 settlement cycles for UI updates was a non-starter.
The Trust Deficit
New fintech apps often struggle to gain trust. Users are hesitant to link their bank accounts to an unknown startup.
- Security: The platform needed bank-grade security (SOC2 Type II, ISO 27001) from Day 1.
- Compliance: Navigating the regulatory labyrinth of the SEC, FINRA, and SIPC required building automated compliance checks (KYC/AML) directly into the onboarding flow.
The Solution
We architected a secure, high-frequency trading platform using a microservices architecture, ensuring that "move fast and break things" did NOT apply to user funds.
Core Features
1. Fractional Trading engine
We built a custom Order Management System (OMS) in Rust for near-zero latency:
pub struct FractionalOrder {
pub user_id: Uuid,
pub symbol: String,
pub amount_cents: i64, // $10.50 = 1050
pub side: OrderSide,
pub created_at: DateTime<Utc>,
}
impl OrderAggregator {
pub async fn aggregate_window(
&self,
window: Duration,
) -> Vec<MarketOrder> {
let pending = self.queue.drain_within(window).await;
// Group by symbol and side
let mut groups: HashMap<(String, OrderSide), Vec<FractionalOrder>> =
HashMap::new();
for order in pending {
groups
.entry((order.symbol.clone(), order.side))
.or_default()
.push(order);
}
// Aggregate into market orders
groups.into_iter().map(|((symbol, side), orders)| {
let total_cents: i64 = orders.iter()
.map(|o| o.amount_cents)
.sum();
MarketOrder {
symbol,
side,
amount_cents: total_cents,
fractional_orders: orders,
}
}).collect()
}
}
- Aggregation: When 100 users buy $10 of Apple stock, the OMS aggregates these into a single market order for $1,000 to the clearing house. This saves massive amounts in transaction fees.
- Internal Ledger: A double-entry accounting system, implemented in PostgreSQL, tracks user balances down to the 8th decimal place.
2. Robo-Advisor (The "Brain")
Unlike static questionnaires, our Robo-Advisor uses Machine Learning to dynamically adjust portfolios.
- Risk Profiling: It analyzes not just user inputs, but behavioral data (e.g., panic selling during a dip) to constantly re-evaluate risk tolerance.
- Tax-Loss Harvesting: An automated cron job runs daily to identify positions selling at a loss and swap them with correlated assets to offset capital gains tax for the user.
3. Social Integration
We implemented a feed where users can (opt-in to) share their trades.
- Privacy-Preserving: Dollar amounts are hidden; only percentages ("Bought 5% allocation of TSLA") are shown.
- Influencer Verification: "Pro" investors must link their brokerage history to prove their track record before they can accept followers.
Technical Architecture
Backend: Microservices in Go & Rust
- Go: Used for the API Gateway, User Service, and Notification Service due to its excellent concurrency and developer productivity.
- Rust: Used for the Core Trading Engine and Matching Engine where memory safety and performance are non-negotiable.
- gRPC: Services communicate via gRPC (Protobuf) for low-latency internal communication.
Data Consistency: Event Sourcing
In fintech, you never delete data; you append corrections. We used Event Sourcing with Kafka:
type AccountEvent =
| { type: 'DEPOSIT'; amount: number; source: string }
| { type: 'TRADE_BUY'; symbol: string; shares: number; price: number }
| { type: 'TRADE_SELL'; symbol: string; shares: number; price: number }
| { type: 'DIVIDEND'; symbol: string; amount: number }
| { type: 'WITHDRAWAL'; amount: number; destination: string };
function replayBalance(events: AccountEvent[]): number {
return events.reduce((balance, event) => {
switch (event.type) {
case 'DEPOSIT':
case 'DIVIDEND':
return balance + event.amount;
case 'TRADE_SELL':
return balance + event.shares * event.price;
case 'TRADE_BUY':
return balance - event.shares * event.price;
case 'WITHDRAWAL':
return balance - event.amount;
}
}, 0);
}
- Instead of storing just "Balance: $100", we store a sequence of events:
Deposit($50),TradeProfit($20),Withdrawal($10). - This allows us to "replay" the entire history of an account to audit exactly how the current balance was derived—a requirement for financial audits.
- Snapshot Optimization: For accounts with 100K+ events, we create balance snapshots every 1,000 events to avoid replaying the entire history.
Security & Compliance
- Biometric Auth: Integration with Apple FaceID and Android Biometrics for seamless but secure login.
- OAuth2 / OpenID Connect: Used for secure integration with third-party banking aggregators (like Plaid) to link bank accounts without storing credentials.
- Encryption: All PII (Personally Identifiable Information) is encrypted at the field level in the database using AWS KMS.
Impact & Results
The launch was a resounding success, proving that complex financial products can be delivered with a simple, human-centric UX.
Key Metrics
- $1.2B AUM: reached within the first year, exceeding targets by 200%.
- 40% Viral Coefficient: nearly half of new users came from referrals, driven by the social trading features.
- 99.999% Accuracy: Zero accounting errors in the internal ledger despite millions of fractional transactions.
User Testimonials
"Finally, an investment app that doesn't make me feel stupid. I invested my first $50 and actually understand where it went." — Jessica T., 24, First-time Investor
Future Roadmap
- Crypto Integration: Adding a unified wallet to hold both equities and cryptocurrencies side-by-side.
- Direct Indexing: Allowing users to create their own "ETFs" (e.g., "Exclude Oil Companies from the S&P 500").
- B2B White Labeling: Licensing the fractional trading engine to smaller community banks who want to offer investment services.
Lessons Learned
- Event Sourcing + CQRS is essential for fintech — The ability to replay any account's history is not optional in a regulated environment. We caught 3 edge-case bugs in the fractional allocation engine through event replay that would have been invisible with traditional CRUD.
- Aggregate windows are a UX decision — We initially used 100ms aggregation windows, but users perceived their orders as "delayed". We switched to 50ms windows during market hours and 500ms off-hours, reducing complaints by 80%.
- Compliance is a feature, not a checkbox — Building KYC/AML into the onboarding flow (rather than bolting it on) increased completion rates by 35% compared to competitors who redirect to external verification services.
Conclusion
InvestWait Inc. didn't just build an app; they built a financial operating system for the next generation. By abstracting away the complexity of Wall Street behind a beautiful interface, we empowered hundreds of thousands of people to take control of their financial future.
Technologies Used: Rust, Go, PostgreSQL, Kafka, React Native, AWS KMS, Docker, Kubernetes, gRPC, TypeScript.


