Skip to main content
Asset Allocation Tool

Asset Allocation Tool

Table of Contents

About the Asset Allocation Tool
#

Visit the Asset Allocation Tool

Asset Allocation Tool Overview

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