Many moons ago, I got my start in the world of software engineering playing with Ruby on Rails. With a close friend I had basically done the boilerplate for something like rails in PHP for a photography studio project we had done for our database class in college. We were the only students in the class to who were mac users at the time so we didn’t use Access like the rest of the class. We built our own thing and it was awesome. Then within a couple of months we stumbled upon Rails and the complexity of our project seemed crazy compared to how simple Rails was, even back then.

I don’t want to say how many years have past, but that was before Rails reached version 1. They are at Version 7.1.1. A long time has passed.

Cut to over the weekend when I was looking to create an invoice for some sewing work I had done. I was looking for a piece of software that was cheap or free that would do the job of creating an invoice for me to send to the client. I found a couple pieces of software out there and one that looked promising. When I signed up however, I couldn’t figure out how to validate my account to make an invoice. I got to thinking:

This really isn’t that hard. I just want a simple database schema for invoices and way to print them. Surely I can write something.

Having been years since I’ve played with it, I decided to give Rails a go. This was Sunday. Today is Wednesday, and I’m no where near done with it, but I’m chugging along and having fun. Rails is pretty perfect for this. I don’t even care if my service is something a user runs locally and doesn’t even make it to a web server. I’m not worried about security. I just want to create an invoice and mark it as paid when done. It turns out the tuturial for a quick start in rails mirrors a lot of the features I want to put in this project so that has been a great help.

Unlike usual, my project has a lame name: Invoices, and you can find it on Github. Reach out if you have feedback or issues.