DwellDelta

In development

There is no install.

Zero dependencies. Zero devDependencies. No build step, no bundler, no toolchain. The board is static files and vendored modules by design — the same decision that gives it one runtime origin and script-src 'self'. Clone it, run one command, open a page.

Three lines

The clone line is written without a scheme on purpose: this site carries no absolute URLs at all, and a test enforces it — which caught this very note on its first draft, because the note explaining the rule broke it. Prefix the clone line with the usual secure scheme, or clone over SSH. The same rule is why the local address below is written without one - type it into the browser bar as it stands.

git clone github.com/xcelerent/dwelldelta-app
cd dwelldelta-app
npm run serve

Then open 127.0.0.1:4318. That is the whole procedure. There is no npm install because there is nothing to install: package.json declares no dependencies and no devDependencies, and the board runs with no node_modules directory present at all. Measured 2026-08-05, not assumed.

Node is required. This was verified on Node v26.6.0. The package declares no engines field, so no minimum version has been tested and none is claimed here.

It only listens to you

The server binds to loopback and refuses anything else. startServer throws non_loopback_bind_refused for a non-loopback host, and a request carrying a non-loopback Host header gets 400 invalid_host. Nobody else on your network can reach it.

That is why there is no account, no key and no sign-up. The board is not a service you connect to; it is a page that runs on your machine.

What you will see, and what it is worth

Every price, rent and listing count is invented. The board says so on every panel that shows one, and it will not let you forget. What is real is the geography and the record of where it came from: 2,641 Australian postal areas from the ABS, 4,607 NSW suburbs, and cadastral lots and road centrelines for five NSW postcodes, each with its licence and attribution recorded.

So the thing worth checking when you run it is not the numbers. It is whether the interface tells you the truth about them — which panels admit they have no source, which layers say they are synthetic, and whether the coverage it claims is the coverage it has. That is what the data page is for, and you can hold the two side by side.

The basemap asks first

Map tiles are off by default. Turning them on opens a gate that states the cost before the first request is made: your IP address and the part of the map you are looking at reach a third-party tile host. Nothing else leaves your machine — no watch rule, no subject, no account.

Leave it off and the board makes no network request at all.

Other commands

npm testthe test suite — 219 tests at v0.10.1
npm run verifychecks every shipped file against the recorded manifest
npm run smokedrives a real browser against the board; needs one to be installed

npm run verify needs Python. The other two do not.

What running it will not give you

If any of that is a blocker, the full list of limits is the page to read before you spend time on this one.