About this Site

This is my personal project site that will host anything I'm working on. Currently that is just my budget application (more on that below), which I use for personal budgeting. I have plans to add blog posts summarizing what I've been learning from blogs and newsletters that I subscribe to and/or come across.

Budget Application

This application was developed for me to track my family's monthly budget. It uses react (since this site is a Next.js app) and redux as the state store. Virtually all components are written from scratch, as I used this experience to hone my CSS/SASS and react skills rather than relying on third-party applications.

I did however use a few third-party applications to make getting to functionality simpler. They are:

Luxon IconLuxon

For its ability to convert and keep track of times. Once the Temporal API is finalized and adopted by browsers I will probably drop this dependency.

Currency.js IconCurrency.js

I didn't want to get bogged down handling floating point nastiness with a budgeting application, and currency.js allows me to just add two currencies together and know that the math will work. (Of course I still have tests for the actual math being done, e.g. tests for the calculation of a current month's balance)

papaparse Iconpapaparse

For parsing CSV transaction data. Again something I didn't want to have to reinvent.

nanoid Iconnanoid

For generating uuids for all of the models in the redux store.