· 2 min read
Sabdivisen.com
The name Sabdivisen is the Bislama spelling of Subdivision and you can find the project at Sabdivisen.com or on the Google Play Store.
The project was created so that the local population in Vanuatu would have a single map they can reference to find what subdivisions are currently selling land. Prior to this map, subdivisions would be listed sporadically on realitor websites, advertised via newspaper or most commonly posted in any number of local Facebook groups. As you may have imagined, this maked it hard to know what was for sale at any given time and therefore difficult at best to make informed comparisons against competing offers.
The project aims to be easy to use by supporting the local language and having a straight-forward user interface. On the technical side, the first page download is less than 400 kB with subsequent pages only requiring a couple dozen kB each since it is a SPA. This makes it easy to load on all-to-often poor network conditions available locally and was easy to do thanks to no more than thoughtful use of dependencies and optomized assets.
Technical Details
The frontend is a Vue.js app written mostly in TypeScript and the maps are made with Leaflet. The backend is a self-hosted Directus instance, a headless CMS, and sits atop our Postgres database and provides our API. Lastly, another self-hosted service, Plausible, provides user analytics.
All of the services are wrapped up together via a Docker compose file which allowed for easy development and production deployment. Where needed a few Ansible scripts handle repeated non-trivial tasks such as deployment, issuing SSL certificates and backups.
The app is small and runs easily on a single 2GB VPS out of Australia.
- vue
- directus
- leaflet