Hi @MatthewSaw ,
In fact, variables in PowerApps are reset after the Browser refresh, so we recommend you create a new table in the data source to save the current state.
Table for saving the current state.

Insert a Button of the Apps.
First Screen:
OnSelect of Button:
Set(CurrentRow2,Int(First(Table2).Number));
Navigate(PS2, ScreenTransition.None);
Text of Button.
If(First(Table2).Number <= CountRows(Table1), LookUp(Table1, ID = Int(First(Table2).Number)).Secondary, "No One")
Second Screen:
OnSelect:
//"Patch(Table2,First(Table2),{Number:CountRows(Table1)+1})" Make Number always stay in the same Number
If(Int(First(Table2).Number) < CountRows(Table1),Patch(Table2,First(Table2),{Number:CurrentRow2+1}),Patch(Table2,First(Table2),{Number:CountRows(Table1)+1}));
Office365Outlook.SendEmail(
LookUp(Table1, ID = CurrentRow2 + 1).Semail & "@gmail.com",
"Testing",
"This is a test email, please do not reply."
);
Navigate(Level1, ScreenTransition.None)
After refreshing the App, it still can stay the current state.

If you have any doubt, please do not Hesitate to reply to me.
Hope this will help you,
Best Regards,
Tina