EntrepreneurialLive

TaxRebalancer

Tax-aware portfolio analysis tool with secure file handling and guest-first UX

ReactTypeScriptFirebaseViteTailwind CSSCloud Functions

The Problem

Tax-aware rebalancing and TLH are hard to do correctly from raw holdings without spreadsheets and mistakes. Brokerage statements and portfolio exports come in messy, inconsistent formats. Users are rightfully concerned about uploading sensitive financial data. And requiring signup too early kills conversion.

The Solution

Built a consumer-facing tool with a secure signed URL upload pipeline (time-limited access, no permanent server storage), a dedicated harvest algorithm for tax-optimal sell sequences, and a guest mode that lets users try the full experience before creating an account. Admin-configurable limits provide business flexibility without code deploys.

Product Decisions

  • Signed URL uploads instead of direct uploads—safer, time-limited access, scales better
  • Guest mode first to reduce friction and let users validate value before commitment
  • Educational approach: explain *why* each trade is recommended, not just what to do
  • Statement upload meets users where they are (PDFs/Excel) rather than API-first
  • Admin-configurable guest limits for business flexibility without deploys

Architecture

Frontend

React 18 with TypeScript, Vite build, Tailwind CSS, context-based state management

Backend

Firebase Cloud Functions for signed URLs and PDF/Excel parsing

Database

Cloud Firestore for user data and portfolios

APIs

Firebase Auth, getSignedUploadUrl callable for secure uploads

Other

XHR PUT with progress tracking, PII redaction service

Technical Highlights

  • Signed URL upload pipeline: Cloud Function generates time-limited URL → XHR PUT with progress → strict validation
  • Harvest algorithm with tax-lot selection (FIFO or tax-optimized), ST/LT classification, cross-offset calculations
  • Tax budget enforcement—stop selling when cumulative tax exceeds user-defined limit
  • Guest vs registered user flow with GuestContext and admin-configurable limits (portfolios, rebalance counts)
  • File validation: PDF statements ≤25MB, portfolio files (Excel/CSV/JSON) ≤10MB
  • PII redaction service for sensitive data removal before processing

Results & Outcomes

  • Live production site at taxrebalancer.com
  • Demonstrates end-to-end product thinking from problem to solution
  • Combines domain expertise (FINRA Series 7/63) with engineering skills
  • Forced real product tradeoffs around privacy, onboarding friction, and secure cloud processing

What I'd Do Next

  • Additional brokerage PDF format support
  • Recurring rebalancing schedules
  • Direct brokerage API integration for real-time data
  • Wash-sale guardrails for TLH candidates