Ecology & Planning

A Planning tool for Ecological Projects

For any project that involves building, demolishing or changing the landscape you will be needing a permit of the local government. The permit requires you to proof that no animals, like sparrows, bats or any protected animal live at the location you want to build on. This is where Grofalex comes in. Grofalex arranges field workers to survey the location and report back to Grofalex. Grofalex then uses the data to create a report that can be used to apply for a permit (or keep a permit).

To be able to send out field workers, Grofalex needed a planning tool that could be used by the field workers, and that's where I came in. The tool required managing multiple projects (organisations), consisting of multiple locations where multiple surveys needed to take place. Furthermore, field workers would need to be assigned to the location and planned at a specific date. The tool also needed to be able to store reports based on the data collected by the field workers.

After the job is done for the field workers, they also will need to get paid for their work. The tool required a feature to keep track of the hours they've worked and the distance traveled to finalize the job. This involves calculating the route someone took to get to the location and back. Lastly, within the tool needed to log the amount of hours someone worked based on the time they've started and ended their shift was needed. At the end of the month, the worked hours are aggregated and available for export.

This tool was built using React, Node.js / Express and Postgres, running on a Linux server that runs Docker in combination with Dokku. Dokku is an open source tool that gives you the same power as Heroku, but on your own server (therefore a fraction of the price). Meaning you get auto deployments and rolling releases when you push to your deployment branches.

I love to use Docker to be able to switch between applications I'm working with, such that I don't mess up my own environment, and above all making sure the application runs the same on my local machine as it does on the server.

The tool was built in a way that it could be extended with new features. The project was built by me alone in 3 months time. It's really the most fun and challenging projects I've worked on! Due to the complexity, tight deadlines, I could bundle all my knowledge of the last 12 years into one project. I'm super proud of the result and I'm happy it all worked out in the end.

The amount of features I've built for this project is too much to list here, but I've listed some of the features below:

  • Managing multiple organisations.
  • Adding areas using and assigning activities do be done there.
  • Create activities of specific type
  • Activities with a specific type are required to be done within a certain timeslot.
  • Field workers need to be able to fill in their availability.
  • A planning screen where workers can be planned on a shift within a timeslot
  • Field workers need to see which shifts they are planned on and when and where to go.
  • They need to be able to submit reports
  • Reports can be approved / rejected
  • Resubmitting reports should be possible
  • Cancellations of shifts (because of outside factors) should be possible
  • Filter workers based on the distance to the area.
  • Filter on things like that they have a care or driving license.
  • Attach multiple field workers to a shift.
  • The planning needs to be pending until published, and only then are changes visible to users.
  • Aggregations of worked hours and travelled distances (by the most optimal route) per time-period

Experiences gained here:

  • Deepening my knowledge of NodeJS & Express.
  • Postgresql + Postgis for measuring distances of workers to the area.
  • Working with Vercel
  • Used my Laravel knowledge and using them within Express.
  • Getting to know ReactJS in a more intricate way than before.
  • Using Dokku in combination with Docker.
  • Using Prisma ORM
  • Using Mapbox
  • Deepening my knowledge of Typescript

Any further questions? I'd love to show it to you!

Here a sneak peak of the tool itself, here you see some screens of the tool.

Time active

January 2023 - March 2023


Do you have a project in mind? Let's talk.