Land regulation & GIS portal
A public mapping portal built so a prefecture could administer Japan's embankment regulation law — and so residents could check their own land against it.
The problem
In May 2023 Japan brought the 宅地造成及び特定盛土等規制法 — the embankment regulation law — into force. It replaced a narrower residential-land statute with a nationwide regime that regulates dangerous fill and earth stockpiling regardless of what the land is used for: residential, forest, agricultural, all of it. The change followed a series of fatal landslides caused by embankments that no single authority had been responsible for inspecting.
The law puts the work on prefectures. They have to designate regulated zones across their whole territory, review and permit any earthwork inside those zones, and keep an inspection record for each site. That is a fundamentally spatial problem — a boundary on a map, a parcel, a permit, and a history — and it had to be answerable both by officials reviewing applications and by any resident asking a simple question: is my land inside a regulated zone?
Architecture
The portal is one application serving two very different audiences, so the network shape matters more than the feature list. The application tier is reachable from the internet; the regulatory data is not. Zone boundaries, parcels, permits and inspection history live in a database in a private subnet with no route in from outside — the app tier is the only thing that can reach it. Map layers and permit documents are served from object storage through scoped roles rather than shared credentials, and every tier reports to a single log and metric stream, which is what makes an administrative decision reconstructable later.
Client names and endpoints are withheld; the diagram describes the architecture only.
Constraints that shaped it
- Public-sector data standards. Isolated network layers, scoped access and audited change were requirements the platform shipped under, not improvements added afterwards.
- Two audiences, one truth. A resident checking a parcel and an official approving a permit have to be looking at the same zone boundary — so the public map and the review workflow read from one dataset, not a published copy.
- Spatial data is heavy. Boundaries and parcels are large, slow to transfer and expensive to redraw, so what gets rendered in the browser and what stays on the server is an architectural decision, not a detail.
- Reproducible infrastructure. Public-sector environments get rebuilt, audited and handed over, so the whole stack is defined in Terraform and runs in containers rather than existing as configuration someone once clicked.
Outcome
The platform launched as the prefecture's public disclosure system for the law, and it runs as two surfaces over one dataset. Officials administer permits and notifications internally; what they approve is what the public map shows.
On the public side, regulated zones and individual embankment sites are drawn over the national mapping agency's base tiles — street map, pale map and aerial imagery — so a resident, surveyor or contractor can find a location and see for themselves whether it sits inside a residential-development control zone or a specified embankment control zone. That is the question that previously meant a phone call to the office or a trip to the counter, and it is now answerable at any hour by anyone.
Each site carries its regulatory status rather than being a plain pin — permitted, notified, construction complete, or discontinued — and clicking one opens its record. A searchable list covers the same data for anyone who would rather work from a table than a map. Because the statute requires specified particulars to be published, the disclosure surface is a legal obligation in its own right, not a convenience layer: what appears there, and how accurately it is placed, is the prefecture meeting a duty.
Stack
Application
FastAPI · Vue.js · Nuxt.js · Vuetify
Infrastructure
AWS — VPC · EC2 · S3 · RDS · CloudWatch · IAM · Terraform · Docker