Skip to main content

Back to all posts

Loan Payment Calculator: my implementation work with Vladimir

I built Loan Payment Calculator with Vladimir for a Swedbank task. I handled most of the implementation, while Vladimir handled most of the testing.

What I worked on

My main contribution was implementing the application. The project combines a multi-step form, state validation, navigation, and a monthly payment calculation.

The interface uses ordinary JavaScript modules. A state object holds the values, view functions build each screen, and the calculation is a separate function.

Why separate those pieces?

A form has several kinds of state: what the person entered, which step is open, and whether the values are valid. Keeping those separate from the payment formula makes failures easier to locate.

The formula can also be checked without opening the form. For example, a zero-interest loan should divide the principal over the number of months, rather than return zero. That edge case now has a regression test.

Collaboration

Vladimir's main contribution was testing. This was shared work, so the portfolio identifies it as a collaboration rather than presenting the entire project as a solo build.

The working demo is a fictional portfolio version. It uses only example loan parameters, with its own styling and English, Estonian, and Russian controls. Personal-information fields have been removed. It runs in the browser and does not send form data or submit a real application.