Budgeting is like an optimization/monitoring problem with 2 objectives:
1. monthly cash flow > 0 (don't ever let your cash situation go negative e.g. credit-card debt)
2. maximize(Year End final balance)
I have a Google Sheets doc that I've used for years where I have inflows and outflows by month, and a year-end balance that is automatically calculated. This lets me see what my projected cash status will be at the end of the year.
At every month, the cash flow (in - out) is calculated -- this prevents me from going underwater at any given period.
Having a dynamically updating spreadsheet helps you to monitor those two objective functions and make course-corrections.
It's simple, it's cloud-based and it's available on all devices.