Mobile-friendly web app for calculating mortgage prepayment schedules with smart statement parsing.
β
Mobile-responsive - Works perfectly on phones, tablets, and desktop
β
Camera upload - Take a photo of your mortgage statement
β
Smart OCR - Automatically extract principal, rate, escrow, and extra payments
β
Multiple bank formats - Parses various statement layouts
β
Prepayment scenarios - Model extra monthly payments and lump sums
β
Visual summary - See payoff date and interest saved at a glance
β
Detailed schedule - Month-by-month breakdown with chart
β
CSV export - Download schedule for Excel/Sheets
- Open
index.htmlin a browser - Click "Take Photo" or "Choose File"
- Select your mortgage statement (PDF or image)
- Wait for OCR processing (~10-30 seconds)
- Review extracted values (edit if needed)
- Click "Calculate"
- Open
index.htmlin a browser - Enter mortgage details:
- Current principal balance
- Interest rate (%)
- Remaining term (years)
- Monthly escrow (taxes/insurance)
- Extra monthly payment (optional)
- One-time lump sum (optional)
- Click "Calculate"
- New payoff date with extra payments
- Years saved compared to standard schedule
- Total interest saved vs. original amortization
- Total amount paid (principal + interest)
Monthly breakdown showing:
- Payment amount
- Principal portion
- Interest portion
- Extra payment applied
- Remaining balance
Visual graph of balance declining over time.
The app looks for these patterns in uploaded statements:
Principal Balance:
- "Principal Balance: $..."
- "Remaining Balance: $..."
- "Current Balance: $..."
Interest Rate:
- "Interest Rate: X.XX%"
- "Rate: X.XX%"
Escrow:
- "Escrow: $..."
- "Tax & Insurance: $..."
Extra Payments:
- "Additional Principal: $..."
- "Extra Payment: $..."
If OCR doesn't find values, you can always enter them manually.
- HTML/CSS/JavaScript - Single-file web app
- Tailwind CSS - Responsive styling
- Tesseract.js - OCR for image text extraction
- Chart.js - Balance chart visualization
- Chrome/Edge/Safari/Firefox (latest)
- iOS Safari (camera support)
- Android Chrome (camera support)
- PDF OCR not yet implemented (use image for now)
- Accuracy depends on statement image quality
- Works best with clear, high-contrast photos
Just open index.html in any browser. No server needed!
Upload index.html to any static host:
- GitHub Pages
- Netlify
- Vercel
- AWS S3
- Firebase Hosting
Example (GitHub Pages):
git init
git add index.html README.md
git commit -m "Add mortgage calculator"
git remote add origin https://github.com/yourusername/mortgage-calc.git
git push -u origin main
# Enable GitHub Pages in repo settings β Pages β Source: main branch- Host on Netlify/Vercel
- Add your custom domain (e.g.,
mortgage-calc.yourdomain.com) - SSL automatically configured
- PDF text extraction support
- Save calculations to browser storage
- Compare multiple scenarios side-by-side
- Refinance calculator
- Amortization chart (principal vs interest over time)
- Property tax and insurance inflation adjustments
- Biweekly payment calculator
- Print-friendly summary report
- Principal: $250,000
- Rate: 6.5%
- Term: 30 years
- Escrow: $500/mo
- Result: Payoff in Oct 2054, $355K total interest
- Principal: $250,000
- Rate: 6.5%
- Term: 30 years
- Escrow: $500/mo
- Extra: $200/mo
- Result: Payoff in Feb 2048 (6.7 years earlier), $286K interest ($69K saved)
- Principal: $250,000
- Rate: 6.5%
- Term: 30 years
- Escrow: $500/mo
- Extra monthly: $100/mo
- Lump sum: $10,000
- Result: Payoff in Apr 2049 (5.5 years earlier), $295K interest ($60K saved)
- Good lighting - Avoid shadows
- Flat surface - No wrinkles or curves
- Clear focus - Sharp text, not blurry
- High contrast - Dark text on light background
- Straight alignment - Not tilted/rotated
- Zoom in - Fill frame with relevant section
If you encounter issues:
- Try manual entry instead of OCR
- Check browser console for errors
- Ensure image is clear and well-lit
- Use JPEG/PNG format (not HEIC on iPhone)
MIT License - Free to use and modify
Built with β€οΈ for homeowners taking control of their mortgages