Loan-Wise.net
Loan-Wise.net
  • Home
  • Our Services
  • About us
  • Contact
  • Request Access
  • Refinancing Analyser
© 2025 Loan Wise
Powered by Webador
🎓 Loan-Wise.net FREE

Create your free account

Sign in once to unlock the Loan Analyzer + AI payoff assistant. We’ll email your plan and tips.

Please enter a real name and valid email.
We’ll also save this to your device so you stay signed in.

What you get Free

  • Quick Analyzer (time to payoff & total interest)
  • AI payoff assistant (+extra payment scenarios)
  • Progress snapshots
  • Payment reminder (.ics calendar)
Welcome, friend 👋

Loan Analyzer

Amortization (first 12 months)
MonthPaymentInterestPrincipalBalance

AI Payoff Assistant

Run an analysis to see your tailored suggestions.

Tools
Payment reminders
Loan-Wise.net provides educational tools only. Results are estimates and not financial advice. Always confirm figures with your lender and consider fees, compounding and your personal situation.
Months to payoff: ${base.months} (${years(base.months)} yrs)
Total interest: $${base.interest.toFixed(2)}
Payoff date: ${payoffDate(base.months)}
With +$${X}/mo
New months: ${plus.months} (saves ${savedMonths} months)
Interest saved: $${savedInterest.toFixed(2)}
New payoff date: ${payoffDate(plus.months)}
Estimates. Actuals vary with compounding/fees.
`; // Coaching tips const tips=[]; if(X>=25) tips.push(`Great! Adding $${X}/mo cuts ${savedMonths} months and saves ~$${savedInterest.toFixed(0)}.`); else tips.push(`Try adding at least $25–$50/mo. Small boosts compound into big time savings.`); if(r>0 && A > P*r*1.25) tips.push(`Your payment comfortably beats monthly interest; keep the momentum.`); if(r>0 && A <= P*r*1.25) tips.push(`Edge your payment higher so more goes to principal each month.`); tips.push(`Use "avalanche": always send any extra to the highest APR debt first.`); tips.push(`Ask your servicer about autopay/loyalty APR reductions; compare credit unions for lower rates.`); coach.innerHTML = tips.map(t=>`• ${t}`).join('
'); } byId('lw-analyzeBtn').addEventListener('click', analyze); // Snapshots byId('lw-saveSnap').addEventListener('click', ()=>{ const snaps = JSON.parse(storage.get('lw_snaps')||'[]'); const item = { ts:Date.now(), bal: parseFloat(balEl.value||0) }; snaps.push(item); try{ storage.set('lw_snaps', JSON.stringify(snaps)); }catch(_){} const msg = `Saved: $${item.bal.toLocaleString()} on ${new Date(item.ts).toLocaleDateString()}`; byId('lw-snapMsg').textContent = msg; setTimeout(()=> byId('lw-snapMsg').textContent='', 3500); }); // Calendar .ics function pad2(n){ return String(n).padStart(2,'0'); } function dl(name,content,type='text/calendar'){ const blob=new Blob([content],{type}); const url=URL.createObjectURL(blob); const a=document.createElement('a'); a.href=url; a.download=name; a.click(); URL.revokeObjectURL(url); } byId('lw-makeIcs').addEventListener('click', ()=>{ const day = parseInt(byId('lw-dueDay').value||0,10); const before = parseInt(byId('lw-daysBefore').value||0,10); if(!day || day<1 || day>28){ byId('lw-icsMsg').textContent='Choose a due day (1–28).'; return; } const now=new Date(); let y=now.getFullYear(), m=now.getMonth()+1; if(now.getDate()>day){ m++; if(m>12){m=1;y++;} } const dt=new Date(y,m-1,day); dt.setDate(dt.getDate()-Math.max(0,before)); const DTSTART = dt.getUTCFullYear()+pad2(dt.getUTCMonth()+1)+pad2(dt.getUTCDate()); const UID='loanwise-'+Date.now()+'@loan-wise.net'; const ics=`BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Loan-Wise.net//EN BEGIN:VEVENT UID:${UID} DTSTAMP:${DTSTART}T090000Z DTSTART;VALUE=DATE:${DTSTART} RRULE:FREQ=MONTHLY;BYMONTHDAY=${Math.max(1,day-before)} SUMMARY:Loan payment reminder DESCRIPTION:Set from Loan-Wise.net END:VEVENT END:VCALENDAR`.replace(/\n/g,"\r\n"); dl('loan-reminder.ics', ics); byId('lw-icsMsg').textContent='ICS downloaded. Import into your calendar.'; setTimeout(()=>byId('lw-icsMsg').textContent='', 4000); }); })();