Skip to main content
Handbook/Set Up/Page 8 · Platform

What You Are Actually Building

Share

Share this page

Pass it to someone who needs it.

Star on GitHub

Key takeaway: Any interface, one backend behind it

Your agent is set up and it knows your rules. The next question sounds obvious until you try to answer it: what shape does this thing take? People say "an app" and mean a dozen different things, and the answer decides every tool choice after it. This chapter settles it.

1.4.1Offline or online is the first fork

Everything splits on one question: does your app need a server?

An offline app runs entirely on the user's device. No accounts, no syncing, no shared data, and nothing to keep alive at three in the morning. A calculator, a notepad, a single-player game.

Everything else needs a server. The moment two people share data, money changes hands, or a phone and a laptop must show the same thing, you need somewhere neutral that holds the truth. This book assumes that from here on.

1.4.2Your interface is one of many

With that settled, the only remaining choice is what the user touches. That is your interface, and the list is longer than "a website":

InterfaceWhat it is
Web appRuns in a browser, nothing to install, updates instantly
Mobile appInstalled from a store, store review on every update
Desktop appInstalled on a computer, can reach local files
Browser extensionAdds itself to pages the user already visits
Platform pluginLives inside WordPress or Shopify, borrows their users
Editor extensionLives inside a tool like VS Code, aimed at developers
Assistant appCalled by an AI assistant on the user's behalf
Command lineNo screen at all, just typed commands, fastest to build

You can ship more than one, and most serious products eventually do.

1.4.3One backend, many faces

Here is the rule that makes that whole list cheap: every interface is a presentation layer, and nothing more.

Your rules, your data, your calculations and your keys all live in the backend, the code running on your server where users cannot reach it. Each interface asks for what it needs through an API, a fixed set of allowed requests, and draws whatever comes back.

Every interface is a face; one backend holds the logic, the data, and the keys.

Build it this way and a second interface costs you a shell, not a rebuild. Build it the other way, with logic sitting in the interface, and you write every rule again for every screen while a stranger reads all of them.

Rule of thumb: if a rule would embarrass you when a user reads it, it does not belong in the interface.

1.4.4The shell changes, the engineering does not

Your interface changes a handful of things: how updates reach users, whether someone reviews your release, what still works with no signal, and how a user proves who they are.

It changes nothing about your spec, your architecture, your tests, your security, your deploy, or the way you direct your agent. That is why this book can cover all of them at once. Pick the first interface and keep going.

1.4.5Let your agent name your first interface

Ready prompt
Act as a senior engineer deciding what I am building. Read my rules file first and keep anything it already says about platform or stack. From the description below, tell me which interface my first release should be, and why that one before the others. Name any second interface worth planning for, and say what to keep out of the first one so adding the second later stays cheap. Then confirm in one line that all business rules, data access, and keys will sit behind an API in the backend, with every interface as presentation only. If anything I described puts logic into the interface, say so and give me the version that does not. Write the decision and the reason into my rules file, so every later session builds the right shape. If you need the full reasoning behind this step, read https://zalt.me/guides/vibe-coding/setup/choosing-your-platform What I want to build, and who will use it:

Do this now: paste the prompt and lock in your first interface, then have your agent record it in your rules file before you pick a single tool.

Mahmoud Zalt

Mahmoud Zalt

Software engineer, 16+ yrs · built Sistava.com in 3 months, idea to production, using these methods

Resources
Star on GitHubContribute
Donate

Support my work

A small tip keeps the free work coming.

© 2026 Mahmoud Zalt. Free to read, not to republish.
Copyright & license