Wee GeoTools for all
This month we released some free tools bundled into a suite. It’s a collection of micro-tools for processing GIS files. It grew out of a “Stuff we need and stuff people have asked us about” approach. You know you’re getting something right when you reach for something you built to achieve a task.

Why make more GIS tools?
Geospatial and geodemographic elements is touching the work of more and more people and the “pro” tools out there are overwhelming suites that can do everything, but put many people off. Wee GeoTools is a collection of single purpose, privacy focussed tools that can process a file on your computer in second. Nothing to install and you data never leaves your computer.

Who is it for?
While it’s the case that GeoTools is generally applicable to all walks of life, because it’s being offered for free, we’re limiting users to organisations and groups working on active travel delivery in Scotland. That may be broadened in future, but just becuase it’s free to use, it’s not free for us to maintain and support it. We need to balance quality of service with the impact we can deliver through apps like this.
Does it really run completely on my computer?
One of the services, the route builder does rely on processing points through MapBox, and for routes to be useful we allow you to save them and share them via our servers.
But that it the only tool that uses an external service or originates the data on “our side”. The table below shows which tools run completely client-side and which need a server-side element.
The app itself stores your name and email address as a registered user. Other than that we manage to adhere to some core privacy principals:
Your data is yours. You own the data you process and we don’t need to see it to provide a service to you.
We collect only what we need. We follow the principle of data minimisation — asking for and storing the minimum information required to make the product work.
We’re transparent. We tell you what we collect. If that ever changes, we’ll tell you before you use that particular tool
| Tool | Uploads to GeoTools | Data uses Mapbox services | Renders with Mapbox |
|---|---|---|---|
| Reduce Precision | ❌ No | ❌ No | ✅ Yes |
| Split Features | ❌ No | ❌ No | ✅ Yes |
| Merge Files | ❌ No | ❌ No | ✅ Yes |
| Convert Formats | ❌ No | ❌ No | ✅ Yes |
| Buffer | ❌ No | ❌ No | ✅ Yes |
| Find Centroid | ❌ No | ❌ No | ✅ Yes |
| Split Boundary | ❌ No | ❌ No | ✅ Yes |
| Route Builder | ✅ Yes — saved route GeoJSON | ✅ Yes — waypoints to Directions API | ✅ Yes |
Tech Stack
A lot of our projects lean heavily on PostgreSQL/PostGIS for the geospatial work, but in this instance, because we wanted to create a suite of tools where the data never leaves your machine unless it has to, the majority of work is carried out by Turf and custom JS.
Backend
- PHP
- Laravel — application framework
- Livewire — server-driven reactive components
Frontend
- Alpine.js — client-side reactivity; drives all the tool UIs
- Tailwind CSS — styling
- Vite — bundler
- Axios — HTTP client
Geospatial
- Turf.js — buffer, centroid, nearest-point-on-line
- Mapbox GL JS — map rendering + Directions API
Testing & tooling
- Pest / PHPUnit — PHP tests
- Vitest + jsdom — JS tests
- Laravel Pint — Code formatting

