I use LibreOffice's free spreadsheet. Probably not the type of "app" you're thinking of but I highly recommend it. It's super-simple to write your own calculations and once you do, you can model it any way you like without having to figure out the assumptions that the app maker made. Plus mobile phone apps are lame :)
Here's my approach:
1) Estimate post-retirement expenses, for example $32k annually.
2) Apply to the 25x or 30x rule to come up with "the number". $800,000.
3) Use the Future Value function to project the ending annual balance year-by-year until you reach "the number." Example:
=FV(APR/12, 12, MONTHLY_CONTRIBUTIONS, STARTING_BALANCE)
APR/12 is expected rate of return as a %, divided by 12 to indicate monthly compounding.
MONTHLY_CONTRIBUTIONS indicates how much you'll invest at that APR each month
STARTING_BALANCE should be POSITIVE if you're in debt and NEGATIVE if your net worth is positive. It is not intuitive.
Then made a small table that shows the future value on an annual basis. Each year I add a % to contributions to account for increasing 401k limits and raises in income. It looks something like this.
Date | 401k balance | Monthly Contribution | Taxable Balance | Monthly Contribution | Total Balance |
5/16/2014 | $50,000 | $1,450 | $10,000 | $2000 | $60,000 |
5/16/2015 | $71,687.02 | $1,450 | $36,251 | $2060 | $107,938.65 |
5/16/2016 | $95,974.52 | $1,540 | $65,166.85 | $2120 | $161,141.37 |
5/16/2017 | $122,017.76 | $1,540 | $96,961.19 | $2,185 | $218,978.95 |
Projecting out this way, with each row taking the its starting balance from the previous row, one would be FI on May 16, 2024 with a total balance of $802,331.24 split between a 401k and a taxable investment account assuming 3% pay raises, 7% investment returns and modest increases to the 401k limits.