Skip to content

Keralin/Cuota

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Cuota 🏠

A modern, free, and open-source mortgage calculator built with React. No signup required, no personal data collected.

React Vite License

✨ Features

  • Mortgage Types: Supports Fixed, Variable, and Mixed-rate mortgages
  • Real-time Calculation: Instant updates as you adjust parameters
  • Offer Comparison: Save and compare multiple mortgage offers side-by-side
  • Smart Badges: Automatically highlights "Best Option" (lowest total cost) and "Lowest Payment"
  • Interactive Charts: Visualize debt evolution and interest vs principal breakdown
  • Expense Breakdown: Detailed breakdown of purchase costs (taxes, notary, registry, etc.)
  • Spanish Market Focus: Tailored for Spanish mortgage products with Euribor integration
  • Privacy First: 100% client-side, no backend, no cookies, no tracking

πŸ–₯️ Screenshots

Coming soon

πŸš€ Getting Started

Prerequisites

  • Node.js 22+
  • npm or yarn

Installation

# Clone the repository
git clone https://github.com/yourusername/cuota.git
cd cuota

# Install dependencies
npm install

# Start development server
npm run dev

The app will be available at http://localhost:5173

Build for Production

npm run build

πŸ› οΈ Tech Stack

  • Framework: React 19
  • Build Tool: Vite 6
  • Styling: Tailwind CSS 4
  • Charts: Chart.js + react-chartjs-2
  • Icons: Lucide React

πŸ“ Project Structure

src/
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ Calculator.jsx      # Main calculator orchestrator
β”‚   β”œβ”€β”€ InputSection.jsx    # User input controls (sliders, toggles)
β”‚   β”œβ”€β”€ ResultsSection.jsx  # Results display with charts
β”‚   └── ComparatorSection.jsx # Offer comparison table
β”œβ”€β”€ utils/
β”‚   └── mortgageCalculations.js # Core calculation logic
β”œβ”€β”€ App.jsx                 # Root component
β”œβ”€β”€ main.jsx               # Entry point
└── index.css              # Global styles

πŸ“Š Calculation Logic

Monthly Payment Formula

Uses the standard amortization formula:

M = P * [r(1+r)^n] / [(1+r)^n - 1]

Where:

  • M = Monthly payment
  • P = Principal (loan amount)
  • r = Monthly interest rate
  • n = Total number of payments

Mixed Mortgage Support

For mixed-rate mortgages, the calculator:

  1. Applies the fixed rate for the initial period
  2. Recalculates the monthly payment when switching to the variable rate
  3. Uses the remaining balance and remaining term for the new calculation

Total Cost Comparison

The "Best Option" badge is awarded based on the true total cost:

  • Sum of all payments from the amortization schedule
  • Plus initial expenses (taxes, notary, registry, etc.)

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is open source and available under the MIT License.

πŸ™ Acknowledgments

  • Inspired by the need for transparent mortgage calculators in Spain
  • Built with modern web technologies for the best user experience

Made with ❀️ for homebuyers everywhere

About

πŸ’° Your mortgage, no fine print. Simulate monthly payments, compare banks, and save thousands. 100% frontend, 0% personal data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages