Where the interface lives
Most software gets a login page because that is what software looks like. Which functions actually need a screen?
We gave an application an email address instead of a dashboard. Users forward their commission files to it. Deterministic Python parses them, and an agent replies in the same thread when it needs a decision. Nobody logs in.
It works. It also changed the product more than any screen we have built, because the work now happens between the moment you send the file and the moment you next check your inbox.
The open question is where the line sits. A design tool needs a canvas. A code editor needs a file tree. Everything that reduces to receive, process, return probably does not need a screen at all. We cannot yet tell you which side a new function falls on without building it first.
Getting this wrong is expensive in both directions. A screen nobody needed is a tool the user has to learn. A message where a screen belonged is a tool that cannot show its work.
Related: Your app should have an email address, not just a login page.