Skip to main content
It looks like you are using Internet Explorer, which unfortunately is not supported. Please use a modern browser like Chrome, Firefox, Safari or Edge.

Roll labels and reverse engineering: Solving a million-item problem

Published in AI, Technology
Mikko Vihonen, solution architect, stands in the Oodi library.

Written by

Mikko Vihonen
Mikko Vihonen
Senior Solution Architect

Mikko Vihonen works as a Senior Solution Architect at Nitor. He has been in the IT business since 1999. During his consulting career, he has gained experience from software development and architecture to project management, management consulting and key account management for the largest organisations in Finland. With this broad background, Mikko can help the customers on multiple fronts. Personally, he considers the sense of meaningfulness of the work, coupled with broader impact on society, as the main drivers for professional development.

Article

November 17, 2025 · 7 min read time

Those working as consultants in the ICT field may encounter very old information systems during their careers that run clients' core operations. Over the years, rules implemented in the systems can become set in stone, making them difficult to change. When the Helsinki city libraries sought to transition to a national classification system, they encountered numerous interesting twists and turns along the way.

As an architect bridging business and technology, I've found that the best results come from understanding the client's business processes at least broadly. Rarely have I encountered data processing practices so deeply intertwined with operational culture, and extending so far into the past, as at the City of Helsinki and Helmet libraries.

Three-phase renewal

Before I started working as a solution architect in the City of Helsinki's Culture and Leisure Division, I had no firsthand experience with library operations other than being a library customer. I remembered from my own childhood and had seen through my own children, how significant a role library operations still play in promoting reading and providing a safe space.

At a high level, I helped outline the core function updates and develop a three-phase plan:

  1. Integrate Helmet libraries into the Finna platform

  2. Create a shared municipal E-library

  3. Modernise the Helmet libraries' digital foundation

Crucially, the Finna platform and municipal E-library would benefit all of Finland's library services. With the National Library, we created a roadmap and architecture where the E-library, initially launched separately, gradually integrates with Finna.

Challenges of the old classification system

Renewing the Helmet libraries' digital foundation proved complex. Each Helmet city (Helsinki, Espoo, Vantaa, Kauniainen) has joined the core system from its own starting point and operated relatively independently. This has resulted in significant differences in processes, resources, and even legislative requirements.

However, one of the most significant differences between the Helmet cities is the library classification system, which customers see as shelf locations and labels on book spines. The Helmet libraries use two systems: the national YKL (Public Libraries' Classification System) and Helsinki's own HKLJ (Helsinki City Library Classification System) from 1941.

In the library sector, classification systems are easily perceived as permanent. Helsinki's HKLJ classification system lived on in card catalogues and was digitised unchanged when libraries transitioned to the digital age. Over time, however, the HKLJ classification system has become a burden: maintaining it is costly and prevents, for example, utilising readily available YKL classifications.

In this account, I focus primarily on describing how we ultimately reached the finish line with the classification system change.

The extensive project of a million books

The biggest challenge in renewing the HKLJ classification system was the extensive collection of the Helsinki City Library, which comprises approximately one million books. Even if only a portion of it were to be relabelled, the work would still be significant.

Additionally, the classification is linked to the library's business processes. The change must be made before the new library system procurement, by the line organisation that handles the library's daily operations. Therefore, this causes a process change that must be at least partially covered by the operational expenditure (opex) budget. Furthermore, any delay in starting the classification change could jeopardise my main task: the library system procurement project.

I was able to demonstrate to the project manager, even without a Gantt chart, that the critical path included something surprising: the call number labels stuck on book spines. In practice, all the logistics system changes could be fitted into the project budget, but the labels and labour had to fit into the line organisation's budget, which didn't have much room to manoeuvre.

It looked like the change would fail, meaning we'd drag this historical baggage into the new library system. Then I remembered the proof-of-concept I had done earlier for the E-library. Could the same succeed here?

The only difference was that there wasn't really any signum printing system ready. I had built numerous systems throughout my career, so I was confident I could create this one too. The solution had to be simple enough for anyone to use and affordable enough to buy from the supplies budget without time-consuming tendering.

The advantage of this approach: the solution only needed to exist until the labelling was complete. No maintenance or permanent support team required. When I asked, I received an additional wish that the labelling should be able to be done between the library shelves.

Finding the path forward together

We explored different label options with the library network team, and paper roll labels seemed almost as good an option as plastic film labels in initial comparisons. Additionally, by printing at a 90-degree angle, a 30-metre roll could produce as many as three thousand labels - significantly more than the 200 labels from an equally priced cassette.

Our collaborative approach helped us identify enough savings in printing materials to cover the cost of roll label printers. We also noted that empty roll labels wouldn't create plastic waste like cassettes do.

Next, we delved into the work process. Ideally, the process would be simple: read the material's RFID tag, then let the programme automatically select the new classification and print the call number label. This would completely avoid input errors, and those doing the labelling wouldn't need to understand anything about the classification system.

I initially thought that the labelling programme could be a mobile application. However, buying phones wasn't feasible budget-wise, so I decided to use equipment already available in the organisation: Windows 10 computers, which were being phased out and were available for free. There would be no need to spend money on RFID readers, either, as some were already available.

After brief research and consideration, I was confident that I could create a demo of a solution that utilised a Windows laptop, an RFID reader, and a Brother roll label printer.

I borrowed the RFID reader most widely used by the library and bought the label printer with my own money for 40 euros from tori.fi — a second-hand marketplace. I'll cover the technical details in a separate article. In broad terms, I reverse-engineered the RFID reader's protocol to understand its operation, then wrote code that printed a label whenever the reader detected an RFID tag.

The demo convinced the team that label printing would be straightforward and, most importantly, would eliminate the need for the new library system to support two classification systems.

Final phase: a dash of AI and jobs for Helsinki youth

Next came a new challenge, as a large portion of the materials had never been assigned a YKL class, which of course, would make automatic label printing difficult. Fortunately, I had been involved with machine learning enough that I was fairly confident I could do the reclassification reasonably well by training some clever algorithm for the purpose.

The National Library's Annif subject indexing tool was suitable for this work, from which I was able to create a classification machine with little effort. The new classifications were generated with Annif's help to approximately 80 percent accuracy, and with expertise from Laura and Marjut at the Helsinki City Library, we achieved 100 percent accuracy.

I finalised the labelling solution in July 2025. My eldest was working a summer job, so I figured I should stick around to keep tabs on a teen with a paycheck. I spent the holiday period creating a containerised backend system for the labelling programme, integrated with the library system in Microsoft Azure. I also created an information display in accordance with Helsinki's graphic design guidelines.

In the meantime, Helsinki's ICT support had obtained 50 retired computers for the project and ordered the label printers. The libraries had gathered together the necessary RFID reading pads. The labelling stations would be assembled and sent to library locations with book shipments at the end of September.

Labelling started in October 2025. Helsinki teenagers, about the same age as my eldest, are being hired through Treamer employment services to do the actual work for the City of Helsinki. Supported by library professionals, these young workers have made significant progress, collaboratively solving practical challenges and receiving excellent feedback on their work.

Join us in witnessing the moment when 2020s youth retire the 1940s classification system!

Written by

Mikko Vihonen
Mikko Vihonen
Senior Solution Architect

Mikko Vihonen works as a Senior Solution Architect at Nitor. He has been in the IT business since 1999. During his consulting career, he has gained experience from software development and architecture to project management, management consulting and key account management for the largest organisations in Finland. With this broad background, Mikko can help the customers on multiple fronts. Personally, he considers the sense of meaningfulness of the work, coupled with broader impact on society, as the main drivers for professional development.