Use user-auth so the api rate limits are based on the user, not a single shared app account.
For lookback data, you can use REST APIs. Note that you will hit limits of how far back you can go (especially with favorites). And if you’re looking at something other than the individual’s own account, you’ll hit the limits quickly.
I might suggest Gnip as a solution for both historical lookback and large volume of account following.