DOMU: Investment Portfolio Management
A portfolio management platform that consolidated investments, automated income tax declarations, and helped thousands of investors make sense of their money across Brazilian and US markets.
Overview
Brazilian investors deal with a fragmented ecosystem. Assets spread across multiple brokers, a tax system that treats each asset class differently, and no single place to see the real performance of a portfolio. Existing tools were either too basic or too expensive for retail investors who wanted real control over their finances.
DOMU was built from scratch as a full-stack platform (web and mobile) to consolidate every asset type (stocks, FIIs, ETFs, BDRs, fixed income, Tesouro Direto, funds, crypto, and US investments) into one dashboard with accurate performance calculations, automated income tax return generation, and data synced directly from B3, CVM, and broker APIs. The platform grew to track over R$ 500M in assets and generated more than 10,000 income tax declarations before merging with MyProfit in December 2025.
Key Features
Full Portfolio Consolidation
Every Brazilian and US asset class in one view. Stocks, FIIs, ETFs, BDRs, CDBs, LCIs, LCAs, Tesouro Direto, funds, crypto, US stocks, US ETFs, and REITs, all with automatic import from B3/CEI and broker integrations.
Automated Income Tax Returns
End-to-end IRPF generation covering DARF calculations, monthly exempt/taxable income, capital gains with loss offsetting, and the complete annual declaration. The system handled the full complexity of Brazilian tax rules so investors did not have to.
Performance Analytics (TWR)
Time-Weighted Rate of Return and other portfolio metrics calculated accurately across deposits, withdrawals, and corporate events. This gave investors a true picture of performance independent of cash flow timing.
Dividend & Yield Tracking
Automated tracking of dividends, JCP, rental income from FIIs, and fixed income yields with historical calendar, payment alerts, and yield-on-cost analysis.
Tech Stack
- React – Web application for portfolio dashboard, tax reports, asset analysis, and administrative tools.
- React Native – Mobile app for iOS and Android with portfolio overview, dividend calendar, and tax status accessible on the go.
- Node.js – Backend services handling portfolio calculations, tax engine, data ingestion pipelines, and third-party API orchestration.
- TypeScript – Type safety across the full stack, essential for financial calculations where precision errors compound across thousands of portfolios.
- PostgreSQL – Primary data store for users, portfolios, transactions, corporate events, and tax audit trails with strong consistency guarantees.
- AWS – Cloud infrastructure for the data pipeline, scheduled jobs for market data fetching, and auto-scaling during tax season traffic spikes.
Challenges & Learnings
Implementing Brazilian Tax Rules from Scratch
Brazilian investment taxation is notoriously complex. Each asset class has different tax rates, exemption thresholds, and reporting requirements. Stocks have a R$ 20k monthly exemption for swing trades but not for day trades. FIIs are taxed at 20% on capital gains but dividends are exempt. Fixed income follows a regressive table based on holding period. Crypto has yet another set of rules.
Building the tax engine meant encoding all of these rules and handling edge cases like stock splits, reverse splits, subscription rights, and merger events that change cost basis. On top of that, the system generated both monthly DARFs and the complete annual IRPF declaration. Every calculation had to match what the Receita Federal expected, across four years of evolving regulations.
Building Reliable Data Pipelines Across Fragmented Sources
There is no single API for Brazilian market data. Portfolio prices, corporate events, fund NAVs, and fixed income rates come from B3, CVM, Tesouro Direto, ANBIMA, and individual brokers, each with different formats, update schedules, and reliability levels. Some required scraping, others had unstable APIs, and several changed without notice.
The data pipeline had to fetch, normalize, and reconcile information from all these sources daily, handle failures gracefully, and maintain historical accuracy. Getting this wrong meant incorrect portfolio valuations and tax calculations for thousands of users, so the system included reconciliation checks and alerting for data anomalies.
Outcome
DOMU operated from 2021 to December 2025, when it merged with MyProfit. Over four years the platform tracked more than R$ 500M in assets, generated over 10,000 income tax declarations, and supported every major Brazilian and US asset class. The platform proved that a small team could build institutional-grade portfolio analytics for retail investors.