Skip to main content

The reference desk

Working notes from inside the work.

Not a blog. A small set of opinionated notes covering the four questions clients ask me before they sign a contract — and the answers I find myself giving twice a week.

What it actually is

Base44 is a hosted React + Vite stack with a custom SDK that wraps authentication, an entity store (records on a hosted Postgres-ish backend), and a build-by-prompting authoring surface. You can write JSX directly; you can also instruct an LLM in the builder to write it for you. Either way, the output is real code in a Git repo you own. The build deploys to a base44.app subdomain or a custom domain.

What it costs you

Three things, in order of how often they bite:

  1. Schema lock-in. The entity store is fine, but it is theirs. Moving off the platform means rewriting your data access layer against your own database. Plan it from day one if you might ever leave.
  2. Module shadowing. The platform re-injects certain modules at build time (auth, query client). If you import them yourself, you can collide with platform versions. Stick to @/lib imports for these.
  3. Live config drift. The builder UI lets non-engineers edit pages. If two people are editing the same surface in different tabs, last-write-wins on the file. Use Git as the source of truth; the builder is a tool, not the canon.

Where it shines

Spinning up a credible product surface in an evening. Auth + entity store + UI scaffolded, custom domain wired, an actual repo you can clone. The single most useful pattern: treat the platform as a fast scaffolder, then own the codebase like any other React app — your own components, your own routing, your own deploy when scale requires it.

The unspoken rule

Never put business logic in the builder prompt. If the prompt produces logic, copy the resulting JSX into a hand-written component you can read, review, and revisit. The platform optimises for first-pass output. Your job is to make the second-pass version of every file boring and stable.