Why Cloudflare KV and a Small Admin Panel Fit a Parking Lot Site
A short design note on handling frequently changing public values—like parking availability and phone numbers—using Cloudflare KV and a simple admin panel instead of environment variables.
I was asked to build a website for a parking lot.
murakami-parking.pages.dev Murakami Parking A monthly parking lot site in Katsushika Ward, Takara-machi area. Price, availability, map, and contact flow are all on one page. https://murakami-parking.pages.dev/
At first glance, a static site looked like enough. If all I needed was an address, price, phone number, and availability, I could have hard-coded everything in HTML and shipped it.
But operations change the picture. Phone numbers and vacancy status look static until the local team needs to change them. Re-deploying the whole site every time would be overkill for a project this small.
So I kept the public page static and offloaded only the changing values to Cloudflare KV. The top page reads settings through an API, and an admin panel lets the local team update the phone number and vacancy status. It was a good fit for a use case that did not need a full database but still wanted changes without redeployment.
Static Page
-> Pages Function
-> Cloudflare KV
The important part of this setup is not admin-ifying everything. On a local site, only a few fields change often. If you limit the admin panel to price, phone number, vacancy status, and a greeting message, the UI stays small too.
Environment variables work well for build-time and runtime configuration. But public values that local operators need to change are easier to manage in KV or a small settings API. The smaller the site, the more useful it is to draw that line early.