About the Asset Allocation Tool #
Visit the Asset Allocation Tool
Managing investments across multiple financial institutions like Charles Schwab and Fidelity is something I’ve tracked in Google Sheets for years, but still involved a reasonable amount of manual work. I built this tool to create an easier, more streamlined way to:
- Upload CSV files from various institutions
- Get a comprehensive view of asset allocations across all accounts
- Set account-level asset allocation targets
- Add manual assets not tracked by institutions
- Receive recommended trades to rebalance portfolios
- Run some simple “back of napkin” calculations
Privacy-First Design #
A core principle of this tool is that all processing of CSVs happens locally. When you process a CSV file, nothing is ever transmitted to external servers. Your financial data stays on your device, ensuring privacy and security. This was a non-negotiable requirement for me when building a tool that handles sensitive financial information.
Key Features #
Portfolio Management #
- Multi-Institution Support: Import CSVs from Charles Schwab of Fidelity
- Asset Classification: Categorization of holdings into asset classes, including multi-class funds
- Target Allocation: Set and track target allocations at the account level
- Rebalancing Recommendations: Get specific trade suggestions to align with your targets
- Manual Asset Tracking: Add assets held outside traditional brokerages
Financial Calculators #
The tool includes several “back of the napkin” calculators for quick financial snapshots:
- 4% Rule Calculator: Estimate retirement income based on portfolio size
- Growth Projections: Model portfolio growth based on simple assumptions about asset class returns
Asset Classification System #
One of the most convenient features is the asset classification system. Using Cloudflare KV store, I maintain a simple database that breaks down assets or funds into their component asset classes. For example:
- AAPL → 100% Domestic Equity
- FFNOX → 51.57% Domestic Equity, 33.82% International Equity, 14.58% Bonds, 0.03% Cash
- BTC → 100% Crypto
This granular classification enables accurate portfolio analysis even when holding multi-asset or target retirement mutual funds and ETFs.
Technical Implementation #
Frontend Stack #
- Vite
- React
- TypeScript
- Tailwind CSS
- Cursor
Backend Infrastructure #
- Cloudflare Workers: Serverless hosting
- Cloudflare KV: Distributed key-value store for asset classifications
- Cloudflare Zero Trust: Secure access control for the KV admin interface
Learning Experience #
This project served as an excellent opportunity to explore Cloudflare’s ecosystem, particularly:
- Implementing a KV store for persistent data storage
- Building serverless applications with Workers
- Securing administrative interfaces with Zero Trust
The combination of local-only processing for sensitive data with cloud-based asset classification lookups creates a perfect balance between privacy and functionality.
Future Enhancements #
Potential areas for expansion include:
- Support for additional financial institutions
- More sophisticated rebalancing algorithms
- Efficient frontier modeling
- Historical performance tracking