...

/

Changes in Client Requirement

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.

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, ...