"The moment you hardcode where the brain lives, you've welded your client to one network. Make it a setting and the client goes anywhere."
The Hardcoding Temptation
When you're building a client that talks to your own backend, it's tempting to just write the address in. You know where the server is; why make it configurable? Because the instant that address is baked into source, three things go wrong at once: the client only works from one network, the topology becomes a fact anyone reading the code can see, and any secret that rode along with it (a PIN, a token) is now living in a place secrets must never live. Remote location and authentication are configuration — user settings resolved at runtime — never constants compiled into the client.
What Stays Out of Source, Always
The rule is strict and worth stating as a list, because each item is a real failure if violated:
- The remote origin — where the Pippa backend lives — is a setting, so the same client works from home, from a phone network, from anywhere the user configures.
- Authentication material — PINs, tokens, minted session credentials — never enters source code or a committed config file. It's entered by the user and held in appropriate secure storage, not in the repo.
- Network coordinates — specific addresses and access details — stay out of committed code entirely. Code that reveals a private topology is a leak even in a private repo.
Configurable Is Also More Honest
Beyond safety, configuration is the more honest design. A hardcoded address pretends there's only one true place the backend lives; a setting admits the truth that where it lives is the user's choice and may change. This is the same respect-the-owner instinct as the rest of the quest, pointed at deployment: the person running the client decides its topology, supplies its secrets, and controls its access — none of which should be presumed and frozen by whoever wrote the code. Make it config, and the client becomes something the user owns and steers, not something welded to one builder's network.