When I started working for Wheelhouse, I had the honour of doing my first Wheelhouse project together with Konsolidate. Konsolidate believes that people should gain control over their data. Firstly, this blog post will explain precisely what solid is and how I got to work with it.
Solid is an exciting new project led by Tim Berners-Lee, the inventor of the World Wide Web. The Solid project aims to radically change how Web applications work today, resulting in true data ownership and improved privacy. Solid offers us three main points: true data ownership, modular design, and reusing existing data.
Solid consists of Solid Servers and Solid Pods. A Solid Server hosts one or more Solid Pods. Pods are where you store your data:
Finally, you can get a Pod from a Pod Provider, or you may choose to self-host your Pod.
Konsolidate tasked me to demo a Solid application with your digital Covid certificate. In essence, it’s an office use case: who is safe to work at the office and who should work remotely? As a result, the client can see who is and isn’t safe. As Solid's goal is to give people back control over their data, the employee can share their data with their manager whenever they want to share this information. (Needless to say: we do not use case in production as businesses cannot ask this of their employees. This project is meant to learn something).
As this is a Solid application, we built it on the principle of sharing minimal data. You only see what you need to see. Therefore, we split the app into two separate apps:
The employee app stores your certificate, and it has a dual purpose, as it can also replace your usual Covid Safe app. Your COVID-19 safe information is stored in your personal Pod, and you can access this by logging in to your desired Pod provider.
The management app checks if employees are safe working at clients' offices. The only data they see is the employees' names and availability at that time.
The flow looks like this:
I wanted to challenge myself while working on this project, so I chose many technologies. Some of them were brand new to me, and some of them I wanted to get to know better. The new technologies were challenging initially, but I got the hang of it after some time. I didn’t stop at the basics of the technologies; I wanted to go deeper and use everything that could have made the project better and easier to use.
In the six weeks of working on this project, I learned much about Solid and its capabilities and possibilities. I also learned what it can and can’t do. Even though Solid is still in beta, I believe this technology will rise in popularity. In addition, I had the pleasure of discovering TypeScript. I always wanted to write something in TypeScript but never had time for a project. If you have the time, you should try to create something simple with Solid. This will be the next step in giving the user true data ownership.