Year 2006, I was taking Finance 101 from Fordham Gabelli School of Business. I was using Texas Instruments BA II Plus Financial Calculator at that time to perform basic time value of money (TVM) calculations and I was very impressed by the simplicity of the use. With it, I can see how car dealers deduct the maximum price limit from your monthly “Budget” and accessible cash for a down payment.
The formula was very simple. Among the 5 TVM variables (N = period count, I/Y = annual interest rate, PV = present value, PMT = payment per period, and FV = future value), if we know 4, we can calculate the last one. All straight forward mathematical formula except the interest rate calculation which requires solving a derivative equation. With my background in Mechanical Engineering, I was able to quickly apply Newtonian method and I built the calculator in about 2 hours with javascript and some basic HTML.
Time passes by to year 2011. I was working as a Software Engineer in Test, when iPhone comes out with the Development SDK. This time it wasn’t 2 hour project. It took me a full 4 days to build the calculator during the Christmas break learning Objective-C, and another 3 days to follow up with complex publishing process, taking screenshot off from my 12 inch MacBook.
The app didn’t sell at $0.99, and I probably made total of $500 off of it just to make even with the developer program registration fee. Later, I just made it free, and it got traction enough to get requests to create one for Android phones.
I had to rewrite the iOS time two more times whenever the iOS the app was built for no longer supports it, and currently Android app is removed from the market for the same reason I believe.
The latest rewrite was done with SwiftUI. This time the button automata has also been rewritten to mimic that of a Casio calculators which allows [3,+,+,+] operation.
The app is available in the App Store, and the source is open in GitHub public repo.
I am still going to use the original User’s Manual and Time Value of Money Cheat Sheet. Hopefully I will find some time to resurrect the one for Android platform as well.