LUCAS.DEV
Back to projectsBlog post hero image

Worksome

Introduction

Worksome is a platform designed to connect companies with freelancers and contractors. What sets Worksome apart from its competitors, is that their platform provides tools for managing contracts, payments, and compliance, streamlining the hiring and management process for both freelancers and employers.

Founded in Copenhagen in 2016, it has since grown and set up offices in both the UK and US. They have notable clients such as Novo Nordisk, Danske Bank, and Carlsberg, who have all hired through Worksome.

My involvement

In 2019, I started working for Worksome in their Copenhagen office for five months as an intern as part of my Computer Science studies at Zealand. During my internship, I worked directly with their team of developers and designers, and participated in weekly meetings. My tasks varied widely from implementing quality-of-life features and fixing bugs to improving internal administrative tools used by their support team.

Technology stack

Most of my tasks involved Laravel — a PHP framework I had very little experience with going into this internship. Through reading documentation and trying to understand their code base, I learned the fundamentals of Laravel. Throughout my stay, I would receive layouts given by the design team, where my CSS and JavaScript skills came into play. And finally, one of my tasks was to develop a plugin for their Wordpress-powered landing page.

  • PHP/Laravel
  • JavaScript/Vue.js
  • CSS
  • Wordpress

What I worked on

Due to NDA restrictions, I can only provide a brief and general overview of the projects I worked on.

Administrative interface

As you can imagine, Worksome’s core business depends on a competent support team to help companies and freelancers with any questions or troubles they may run into. I was given the task to implement fuzzy search functionality to their administrative interface, so that the support team can look up any company, freelancer, or job listing using a variety of identifying information.

For this project, I utilized the Laravel Scout package, which adds support for Algolia and integrates nicely with Laravel’s Eloquent models.

The new lookup tool was released while I was there, and I received live feedback from the team, which allowed me to continually improve the system as wishes from the team came up.

Wordpress landing page

Worksome's landing page in 2019 was built with Wordpress. To help Worksome's graphic designer customize the call-to-action without having to dive into code, I created a visual interface, accessible from the Wordpress admin panel, which allowed any part of the call-to-action to be customized with buttons, titles, icons, and so on.

The call-to-action was featured clearly on the top of their landing page:

A screenshot of Worksome's landing page in 2019, featuring the CTA element I worked on

KPI dashboard

My final project at Worksome was a dashboard to show the company’s Key Performance Indicators (KPI). The success of companies boils down to how the numbers are doing, so having those numbers visible on office TVs would give the team an idea of how they were performing at a glance.

I built the dashboard's frontend with HTML, CSS, and JavaScript. The backend API was developed using Laravel. I had to develop custom APIs and webhooks to connect with the third-party services that Worksome was using.

I can’t share many details about this project, unfortunately, as it involves a lot of internal tools and services.

Lessons learned

Working as an intern at Worksome was my first “real” experience working in an office setting. I must say that I learned quite a bit — not only how to be collaborative in a team of developers, but also how to work with other teams within the company, such as their graphic designers and support team.

I enjoyed the environment that a smaller company like Worksome provided. There wasn’t a cumbersome hierarchy to go through to get answers or feedback from the other departments. In my case, this made it easy to develop quickly and adapt to the wishes of the support team.

The office I worked in

Continue reading