Creating the #1 key management software in Finland
Like all good stories, this one also starts in a bar. The details are blurry but our CEO Marko and Tuomas from Sowellus met at a local watering hole, drank some beers and talked about LokiTime, Sowellus’ flagship product.
LokiTime is key control and key management software that has been around since 2016. It is currently the most widely used key management software in Finland. LokiTime is suitable for all kinds of operators, from property owners to security companies and the public sector. Some of the organisations using LokiTime include Securitas, Mall of Tripla, Newsec, ertego, and Citycon.
In the discussion between Marko and Tuomas, it soon became clear that Sowellus needed help with LokiTime: their key management business was getting bigger and bigger, so their digital services needed to be more scalable. A new mobile application was also required.
Starting point and first steps
We started our journey with LokiTime by doing a small auditing project. Our senior software developer Herkko Virolainen reviewed all the requirements for the “LokiTime 2.0” and the status of their current infrastructure.
“Based on my findings, I created a suggestion for a brand-new information model and architecture for the future of LokiTime. Also, as requested by Sowellus, I provided them with a clear list of next steps and action points on how Sowellus can achieve their goals,” Herkko explains his work.
Sowellus was so convinced by our approach that they asked whether we would like to do the whole project. Of course we would!
The goals of the cooperation were now clear:
Re-create all the backend services and APIs to serve the new approach
Re-create the whole LokiTime browser application for service admins
Create a new Android application for LokiTime users
Transform the backend of the service from the previous service provider to the Google Cloud Platform
A turnkey solution
The distribution of work was settled: Sowellus handled the business decisions and the user experience design while Kodan’s responsibilities included developing all the browser and mobile applications, backend solutions, and APIs.
Of course, everything was done as a team: We sparred with Sowellus over user experience design solutions and Sowellus helped us with software development problems.
Kodan’s team was compact and effective: most of the development was done by four software developers: Herkko Virolainen, Nikke Kohvakka, Ville Kopio, and Othman Azil. Every now and then the team was strengthened by one or two extra developers when needed.
Nikke, who was part of the project from the very beginning, reminisces about the process: “Learning new things was the most interesting part of the project. We utilised a wide range of technologies that increased our competence as developers and as a company.”
The software development started with creating browser-based admin tools. The backend services were developed and iterated at the same time as the user interfaces.
After the browser applications were ready, it was time to create the mobile application, which is the most important user interface of the whole service.
After a while, it was time to hand the first version of the new service to the users: “The best part of the project was the moment when the first pilot users started to use the service. Their feedback really helped us to understand how the service is used,” Ville says.
There really isn’t that much to say about the software development work. We got the business requirements, designs and the specifications, and then we executed the plan, which was iterated regularly based on user feedback. Simple, as it should be!
Look here for tech buzzwords
The browser applications were created with React, and the mobile application was created with Flutter. Both were chosen because of good support, fast development time and flexibility.
“I have found Flutter to be a very fast and enjoyable way to build mobile apps. The UI system worked nicely and the Flutter team released update after update, making our creation more stable by the week,” Othman says.
Backend services were created with Clojure. Clojure was chosen because it is well-suited to creating and maintaining APIs, and ClojureScript enables us to use the same language everywhere in the service.
The infrastructure was built by Kubernetes and on the Google Cloud Platform. We chose GCP because all the data needs to be stored in Finland.
The new LokiTime service is now in excellent shape. Here’s a list of concrete results we achieved:
Better scalability enables Sowellus to develop both their national and international business in a fast and agile manner
Because of the new information model and the APIs we created, Sowellus’ clients can now easily integrate the LokiTime service into their systems
The new architecture enables Sowellus to react to customer feedback and requests quickly: new features are easier to develop than ever before
LokiTime service now runs 100% on the Google Cloud Platform
The service is faster and more user-friendly
One step at a time
No need to be humble here, this was a big project. Renewing the browser applications, a completely new Android application, backend services, APIs… It’s no small feat to create a service ecosystem of this scale, and it wasn’t always the easiest task either.
The important thing is to do things one step at a time, and not be overwhelmed by the scale of the project. An iterative approach was the way to go here, as it is in all of our projects.
Nikke ends the story: “I have to say I’m very proud of what we achieved. There’s always uncertainties and hiccups when it comes to projects this big, but in the end, we managed to create a package that fills all the requirements Sowellus had.”
If you are planning to renew or create digital services, this is one example of how to do it. And if you want to know more, don’t hesitate to contact us!
"The project was huge - but Kodan’s people handled everything like the true professionals they are."— Tuomas Pohjola,
For more information about the case:
Marko Loukkola, CEO
+358 (0)44 552 5952