···11+# random.wisp.place
22+33+visit [random.wisp.place](https://random.wisp.place) and you'll be redirected to a random [wisp.place](https://wisp.place) site. under the hood, a [hydrant](https://tangled.org/did:plc:dfl62fgb7wtjj3fcbb72naae/hydrant) instance indexes `place.wisp.fs` and `place.wisp.domain` records from the network, keeping a database of known sites, allowing the backend to pick a random website to redirect you to.
44+55+custom domains are resolved via the wisp.place domain API and kept in sync as records are created or deleted.
66+77+you can inspect the deployed backend instance at `https://wisp-random.ptr.pet`.
88+99+## running
1010+1111+```sh
1212+deno task dev
1313+```
1414+1515+environment variables:
1616+1717+| variable | default | description |
1818+| :--- | :--- | :--- |
1919+| `PORT` | `8080` | port to listen on |
2020+| `WISP_API_URL` | `https://wisp.place` | wisp.place appview base URL |
2121+| `HYDRANT_BIN` | `hydrant` | path to the hydrant binary |
2222+| `KV_PATH` | `random-wisp-place.kv` | deno KV database path |
2323+2424+## building the frontend
2525+2626+```sh
2727+API_URL=https://example.org deno task build
2828+```
2929+3030+outputs to `dist/`.