Changes in Client Requirement
Learn how to convert your CLI “Budget Tracker” into a simple web page app, reusing the same core logic and validations, now with buttons, fields, dialogs, and live totals.
We'll cover the following...
You built a resilient command-line budget tracker that does more than follow the ideal path. It parses inputs safely with try...catch
, rejects invalid entries, normalizes categories, prevents accidental deletions, and generates a clear report that includes income, total expenses, remaining balance, and per-category totals. Behind the scenes, you kept the data model small, with income as a number, expenses as an array of objects, and the logic organized, efficient, and easy to test.
In short, you built a solid, reliable core.
The curveball
A week later, your client contacts you after a demo with the operations team:
“The command line works well for your team, but our front desk and new hires aren’t comfortable with terminals. Can we get a simple web app with buttons, fields, and a report section—something user-friendly?”
One of the most common realities in software is that requirements change. New stakeholders appear, workflows become clearer, and prototypes often grow into full products. This isn’t failure; it’s progress. The app can adapt easily because the logic is separate from the interface.
In practice, ...