A few days ago Spatie, the company where I work, launched a new website: vrijwilligerswerk.be. Translated to english it roughly comes down to workforvolunteers.be. On the website various organizations can post their jobs that can be filled by a volunteer. Volunteers have a very user-friendly way to search for job. They can also opt in to weekly mails with new jobs that match their search queries. In this post I’ll give some background on how the application was built and highlight some of the technologies used.

When starting out with the project several months ago we decided performance and ease of use were essential in delevering a good result. You don’t want a potential volunteer to wade through complex forms and waiting for results. Our design team came up with a beautiful and easy to use search and results page. Here’s what it looks like:

Screen Shot 2016-02-27 at 20.41.03

As soon as you start typing a query or alter one of the criteria search results will be displayed immediately. You won’t see a spinner or something similar.

Screen Shot 2016-02-27 at 20.43.53

Take it for a spin yourself here.

Let’s get technical. The site runs on a Digital Ocean droplet. Nginx, PHP 7 and http2 are used. The site itself is built with Laravel 5.2. Like in almost all our projects we used our Blender template as a starting point.

When a new job gets submitted (either by an admin in the admin section or an organization when it is logged in), the job is sent to Algolia. For those who are not in the know: Algolia is a hosted search engine with a beautiful API. If you want to know more about them just visit their site or watch the video’s Jeffrey Way made on Laracasts about the service.