When you actually need a server
Most things don't. Some things absolutely do.
Adding a server multiplies the work: hosting, deployment, secrets, a database, uptime, cost. It's worth it when you need it and pure overhead when you don't. Here's the honest test.
You don't need one if
Everything happens in one person's browser and nobody else needs to see it. A calculator, a converter, a game, a drawing tool, a text formatter, a timer. Anything working on data the user provides and takes away.
Storage for one person on one device is localStorage. Publishing is static hosting — free, and permanently maintenance-free.
You need one if
You must keep a secret. An API key that costs money or grants access cannot live in browser code, where anyone can read it. This is the most common reason and it is not negotiable.
People share data. Multiple users seeing the same records — a list, a leaderboard, comments, anything collaborative.
Data must follow people across devices. Browser storage doesn't travel.
Something must run when nobody is watching. Scheduled emails, nightly processing, incoming webhooks.
You need to be the authority. Anything the browser reports can be edited by the person using it — scores, prices, permissions, quantities. If a wrong value costs you money or integrity, the server decides.
The middle option
You often need a tiny server, not an application. A single function that holds an API key, calls a service, returns the result. Serverless functions on your static host do exactly this: one file, one deploy, no infrastructure.
My tool does: <describe> It needs to: <list — call an API? store things? for whom?> Do I need a full server, a single serverless function, or nothing at all? Pick one and defend it in three lines. If a secret must be kept, say exactly which call moves server-side and what stays in the browser. If I don't need one, say so plainly — I'd rather not build infrastructure for its own sake.
Ask explicitly for permission to not build it. Models drift towards the more elaborate answer unless the simpler one is visibly on the table.