

Every year, ACA IT-Solutions organizes an ACA Ship-IT Day. During this day, our team members get the chance to flesh out their innovative ideas from scratch and build up knowledge. Team members organize themselves into teams and work out the idea as much as possible in just one day. In this blog post, we’ll talk about this years’ ACA Ship-IT Day and the projects that came out of it!
This year's theme
With more than 180 passionate team members that focus on innovation and quality as key ingredients, this years’ theme is all about “innovation in just one day”. Because of the coronavirus pandemic, many organizations had to go through a fast digital transition last year. With digital innovation as one of our expertises, we want to help other organizations with these challenges. The goal of this years’ ACA Ship-IT Day was to create innovative applications that can help our customers.
Together with some of our customers, the different Ship-IT teams validated and fleshed out innovative ideas to proof-of-concepts. Let’s dive into them!
The teams and projects of ACA Ship-IT Day 2021
1. My ACA: a personalized customer portal for our clients
ACA always puts the end-user at the center of everything we do. With that in mind, the first team built a customer portal for our clients.

This customer portal is a central place for essential information, where a customer can:
- find live updates and information concerning their projects,
- find invoices, documents and licenses,
- execute self-service actions.
We want to have engaged, satisfied and happy customers. A customized portal is one thing that can help us to achieve this goal. Besides that main goal, working in this customer portal will increase efficiency, reduce unnecessary communication and improve and streamline service and support for our customers.
The portal itself is built in Liferay and integrates with various back-end systems, such as:
- Atlassian Jira for projects,
- Atlassian Jira Service Management (JSM) for incident information,
- Atlassian Confluence for documentation,
- Google BigQuery for financial information,
- and SalesForce for sales information.
“I’m really happy with what we were able to achieve. During the day, I could see firsthand how we’re able to build something innovative in such a short time. I’m really impressed by how skilled my other team members are!”— Dorien Jorissen , Sustainability Expert at ACA Group
2. Job matching mobile application
The team members from the mobile team got together to develop a prototype of a mobile application that matches job seekers and employers. Job seekers can swipe left (to like) or right (to dislike) on different job applications. Sounds familiar? We call it “Tinder for job seekers”. 😀

First, job seekers create a profile containing their resume on the app. After that, they’re ready to start swiping through the job applications they’re interested in. These job applications can be filtered by function, location, sector, seniority, and so on. Besides that, job seekers can send (chat)messages to the employer they’re interested in.
Employers can put their company in the picture on the app by creating a company profile. They receive notifications when a job seeker likes them, but they can also see their search results and gather data and resumes on their dashboard. For employers, it’s also possible to send messages to and answer questions from job seekers that liked them.

The mobile application is written in the React Native framework and in the React web language. The final output of that development is a native app on both iOS and Android.
“I loved it! We started the day off with brainstorming to determine our focus and who would do what. During the day, we frequently came together to discuss our progress and prioritize any leftover tasks. We looked at what we’d be able to deliver at the end of the day, one hour at a time. Enough cause for some healthy stress :)”
— Joren Vos , Mobile solution engineer at ACA Group
3. AI/AR for healing people
One of our customers in healthcare was already looking for a solution that automatically recognizes certain objects, such as injuries. After all, daily follow-up of injuries on patients is time-consuming and not always precise. That’s why this third ship-IT team developed a complete AI/AR mobile solution for injury management. With this app, our customer could save time, reduce errors and improve the healing of injuries, since health professionals can focus more on patient care.

The application can automatically detect, register and track injuries by using innovative techniques like Artificial Intelligence (AI) and Augmented Reality (AR). Thanks to guided real-time recognition, caretakers are guided to a perfect injury registration and receive real-time predictions. The app takes live pictures and adds additions through metadata for maximum ease-of-use.
It’s possible to provide additional information in the application, like the mental and physical state of the patient, and predictions based on their database of injuries. Caretakers can access this database to find similar conditions and help their patient more efficiently.

In the application, a personal timeline is integrated to follow the evolution of a certain injury, suggest actions and give tips. The patient can also perform checks themselves through the app. Lastly, the app features a dashboard with a summary of the identified injuries, statistics, to link unrecognized photos manually and view important trends.

“It’s not easy to build an app to recognize injuries in just 8 hours. We started with the idea that the app wouldn’t be completely fleshed out at the end of the day, but that it’d be more of a prototype. We were able to show what is possible through Google’s machine learning kit on iOS. If we’d had an extra 8 hours, we could have trained our detection system with models to be able to differentiate between bruises and cuts, for example.”
— Stijn Schutyser , UX / UI Designer at ACA Group
4. SecARity: Security in the workplace
Safety in the workplace is crucial. For their Ship-IT project, this team wanted to increase the integration of safety regulations in the workplace and facilitate easy and user-friendly access for all employees in risk profiles.
The team built an Augmented Reality (AR) application for our client IDEWE that offers safety instructions, regulations and information for a specific room and/or machine. This way, the team strongly reduces the chance of an accident happening.
This application is flexible because there is no information overload and it activates automatically by proximity touchpoints. The application can also be customized to the user profile, which means they will get notifications based on their profile or function.
While building this application, our team used two tools. The first one is Google ARcore, a free application to create AR applications. They used Google ARCore to recognize a certain object (in this case a QR code) and then map other things in the world relative to the location of this QR code and display them in AR.

“For my bachelor’s thesis, I’ve experimented a lot with AR in an industry 4.0 context. Because of my prior experience, this project was truly made for me! I had a blast working with the team and thinking outside of the box. :)”
— Louis Hendrickx , Java solution engineer at ACA Group

5. Service mesh to the rescue
There are a number of architectural trends in the cloud-native space. In this Ship-IT project, a team wanted to explore the possibilities of service mesh for development and deployment for our client Valipac. A service mesh, like the open-source project Istio, is a way to control how different parts of an application share data with one another. This way, we have a better understanding of how applications behave and handle requests.
The activation and tuning of out-of-the-box possibilities for Valipac mainly gives us insights into how applications work together via request-response mechanisms. This is insufficient to gain good insights into applications that work together asynchronously with events (i.e. event-driven architecture). Our team investigated how we can extend service mesh to also provide insight into these interactions on a topology graph. The team wrote a plug-in for the Istio service mesh based on WebAssembly. This plug-in generates the metric behind the topology graph with the source of an event’s producer and the destination of an event’s consumer.

A lesson our team learned is that writing such a plug-in with WebAssembly is not that easy. After all, they didn’t have a lot of experience with the language since it’s relatively new technology. However, the team concluded that they can also build the topology graph from the application code itself in the same way. This way, we also see through the topology graph which applications work together via events, which leads to an increased observability of the application landscape for event-driven architectures such as Valipac.
6. Clickie - we're just a click away
For our Atlassian experts, providing a great service for our customers is their top priority. They want to bring the ACA support closer to our client MLOZ. That’s why they wanted to integrate the applications that we run at MLOZ with our own track-it system. This way, our support team receives all relevant information immediately when the ticket is created by the client.

Our team used Autoblocks for the integration in this project. Autoblocks is an integration platform built by our partner Adaptavist that integrates with Atlassian tools.

7. Order tracking for a client in the pharmaceutical industry
The customer of this Ship-IT project provides transport to pharmacies and will expand this to patients as well in the future. They currently do not have much in place to track and follow up on orders. Our 8th Ship-IT stepped in and wanted to help them by building a user-friendly platform to track orders, receive end-user feedback and give the users the possibility to re-order certain items.
By creating such an order tracking system, the team offers benefits to different actors of our client. Pharmacies will have a better overview of the status of the orders, which they can relay to their end customers. Patients on their end can place, follow and track orders in an easy and user-friendly way.
![]()
7. Geen vlam in mijn friet - fire detection model
Our client is one of the most important producers of frozen potato products for private labels in the world. Their facilities house more than 1000 cameras that monitor the production lines. Currently, the video streams are monitored by operators. This causes that the operators have to supervise a vast amount of cameras. This means that incidents are not always detected immediately. When a fire breaks out, it may have a large impact on both safety and the production capacity.
For this reason, this Ship-IT project focused on developing a real-time notification application that leverages machine learning and cloud infrastructure to detect fire from camera feeds. The task of identifying and locating a flame in video frames is an object detection problem. The You Only Look Once (YOLO) machine learning model is a state-of-the-art algorithm for real-time object detection. In this project, the team used a recent implementation of YOLO, YOLOV5, developed by Ultralytics. This single-stage object detector is based on a neural network architecture that extracts – during training – a set of informative features from input images, i.e., indoor and outdoor images with fire. Later, the trained model is used to identify the presence of fire for each frame. If a flame is detected, the model draws a bounding box around the flame and assigns a confidence score to that prediction.

On the operational side, our solution starts from the subscription of a customer camera feed to a broker that initializes a Kinesis video stream, and also sends notifications to a processing queue provisioned with Amazon MQ (or similar). The queue is populated with individual video frame identifiers that are processed in parallel by calling the pretrained object detection model, i.e YOLOV5, deployed with AWS SageMaker. Once a flame is detected in any frame, a downstream event is then triggered to notify an application/notification engine. This architecture allows massive automation and scaling. In particular, it can scale horizontally by augmenting the number of parallel threads, as well as vertically by increasing the number of SageMaker instances through the auto-scale capability of SageMaker.
In order to speed up the notification in case of a fire, we made it possible to build a mobile application that consists of a real-time notification, a picture of the location of the fire and a timestamp.

And the winner is...
At the end of the day, the different teams had to create a proof-of-concept to demo and give a presentation about. Every team pitched their project to all the other teams, who then voted for their favorite project based on the theme.
Project 1, My ACA, was able to take home this year’s trophy! 🏆 Within ACA, we have been thinking about offering our customers an optimal customer experience for some time now. The ACA Ship-IT Day was the perfect opportunity to create such a portal on the basis of new tools. Because of the innovative factor and the added value for our clients, most of our employees voted for this project. The next steps are to test the proposal with a number of pilot customers and make an estimation for the further elaboration of MVP1, which will then be submitted to our management team. After all these steps, we start looking for a sponsor.

Congratulations to the entire team of experts and all the other teams that contributed to this great Ship-IT Day. Looking forward to next year!

What others have also read


Our Business expert in Energy Utilities Tom Claus headed to Energy Mission, and came back with some new insights… and a wake-up call for companies and (government) agencies.
Read more

Enlit is Europe's largest event on energy transition. Tom Claus and Sven Sambaer went on behalf of ACA Group to meet up with customers and partners, and to keep their eyes open for new ideas and the latest trends. A report on the energy trilemma, the car battery as guardian of the balance in the distribution network, and smart metering 2.0.
Read more

In software development, assumptions can have a serious impact and we should always be on the look-out. In this blog post, we talk about how to deal with assumptions when developing software. Imagine…you’ve been driving to a certain place A place you have been driving to every day for the last 5 years, taking the same route, passing the same abandoned street, where you’ve never seen another car. Gradually you start feeling familiar with this route and you assume that as always you will be the only car on this road. But then at a given moment in time, a car pops up right in front of you… there had been a side street all this time, but you had never noticed it, or maybe forgot all about it. You hit the brakes and fortunately come to a stop just in time. Assumption nearly killed you. Fortunately in our job, the assumptions we make are never as hazardous to our lives as the assumptions we make in traffic. Nevertheless, assumptions can have a serious impact and we should always be on the look-out. Imagine… you create websites Your latest client is looking for a new site for his retirement home because his current site is outdated and not that fancy. So you build a Fancy new website based on the assumption that Fancy means : modern design, social features, dynamic content. The site is not the success he had anticipated … strange … you have build exactly what your client wants. But did you build what the visitors of the site want? The average user is between 50 – 65 years old, looking for a new home for their mom and dad. They are not digital natives and may not feel at home surfing on a fancy, dynamic website filled with twitter feeds and social buttons. All they want is to have a good impression of the retirement home and to get reassurance of the fact that they will take good care of their parents. The more experienced you’ll get, the harder you will have to watch out not to make assumptions and to double-check with your client AND the target audience . Another well known peril of experience is “ the curse of knowledge “. Although it sounds like the next Pirates of the Caribbean sequel, the curse of knowledge is a cognitive bias that overpowers almost everyone with expert knowledge in a specific sector. It means better-informed parties find it extremely difficult to think about problems from the perspective of lesser-informed parties. You might wonder why economists don’t always succeed in making the correct stock-exchange predictions. Everyone with some cash to spare can buy shares. You don’t need to be an expert or even understand about economics. And that’s the major reason why economists are often wrong. Because they have expert knowledge, they can’t see past this expertise and have trouble imagining how lesser informed people will react to changes in the market. The same goes for IT. That’s why we always have to keep an eye out, we don’t stop putting ourselves in the shoes of our clients. Gaining insight in their experience and point of view is key in creating the perfect solution for the end user. So how do we tackle assumptions …? I would like to say “Simple” and give you a wonderful oneliner … but as usual … simple is never the correct answer. To manage the urge to switch to auto-pilot and let the Curse of Knowledge kick in, we’ve developed a methodology based on several Agile principles which forces us to involve our end user in every phase of the project, starting when our clients are thinking about a project, but haven’t defined the solution yet. And ending … well actually never. The end user will gain new insights, working with your solution, which may lead to new improvements. In the waterfall methodology at the start of a project an analysis is made upfront by a business analist. Sometimes the user is involved of this upfront analysis, but this is not always the case. Then a conclave of developers create something in solitude and after the white smoke … user acceptance testing (UAT) starts. It must be painful for them to realise after these tests that the product they carefully crafted isn’t the solution the users expected it to be. It’s too late to make vigorous changes without needing much more time and budget. An Agile project methodology will take you a long way. By releasing testable versions every 2 to 3 weeks, users can gradually test functionality and give their feedback during development of the project. This approach will incorporate the user’s insights, gained throughout the project and will guarantee a better match between the needs of the user and the solution you create for their needs. Agile practitioners are advocating ‘continuous deployment’; a practice where newly developed features will be deployed immediately to a production environment instead of in batches every 2 to 3 weeks. This enables us to validate the system (and in essence its assumptions) in the wild, gain valuable feedback from real users, and run targeted experiments to validate which approach works best. Combining our methodology with constant user involvement will make sure you eliminate the worst assumption in IT: we know how the employees do their job and what they need … the peril of experience! Do we always eliminate assumptions? Let me make it a little more complicated: Again… imagine: you’ve been going to the same supermarket for the last 10 years, it’s pretty safe to assume that the cereal is still in the same aisle, even on the same shelf as yesterday. If you would stop assuming where the cereal is … this means you would lose a huge amount of time, browsing through the whole store. Not just once, but over and over again. The same goes for our job. If we would do our job without relying on our experience, we would not be able to make estimations about budget and time. Every estimation is based upon assumptions. The more experienced you are, the more accurate these assumptions will become. But do they lead to good and reliable estimations? Not necessarily… Back to my driving metaphor … We take the same road to work every day. Based upon experience I can estimate it will take me 30 minutes to drive to work. But what if they’ve announced traffic jams on the radio and I haven’t heard the announcement… my estimation will not have been correct. At ACA Group, we use a set of key practices while estimating. First of all, it is a team sport. We never make estimations on our own, and although estimating is serious business, we do it while playing a game: Planning poker. Let me enlighten you; planning poker is based upon the principle that we are better at estimating in group. So we read the story (chunk of functionality) out loud, everybody takes a card (which represent an indication of complexity) and puts them face down on the table. When everybody has chosen a card, they are all flipped at once. If there are different number shown, a discussion starts on the why and how. Assumptions, that form the basis for one’s estimate surface and are discussed and validated. Another estimation round follows, and the process continues till consensus is reached. The end result; a better estimate and a thorough understanding of the assumptions surrounding the estimate. These explicit assumptions are there to be validated by our stakeholders; a great first tool to validate our understanding of the scope.So do we always eliminate assumptions? Well, that would be almost impossible, but making assumptions explicit eliminates a lot of waste. Want to know more about this Agile Estimation? Check out this book by Mike Cohn . Hey! This is a contradiction… So what about these assumptions? Should we try to avoid them? Or should we rely on them? If you assume you know everything … you will never again experience astonishment. As Aristotle already said : “It was their wonder, astonishment, that first led men to philosophize”. Well, a process that validates the assumptions made through well conducted experiments and rapid feedback has proven to yield great results. So in essence, managing your assumptions well, will produce wonderful things. Be aware though that the Curse of Knowledge is lurking around the corner waiting for an unguarded moment to take over. Interested in joining our team? Interested in meeting one of our team members? Interested in joining our team? We are always looking for new motivated professionals to join the ACA team! {% module_block module "widget_3ad3ade5-e860-4db4-8d00-d7df4f7343a4" %}{% module_attribute "buttons" is_json="true" %}{% raw %}[{"appearance":{"link_color":"light","primary_color":"primary","secondary_color":"primary","tertiary_color":"light","tertiary_icon_accent_color":"dark","tertiary_text_color":"dark","variant":"primary"},"content":{"arrow":"right","icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"tertiary_icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"text":"View career opportunities"},"target":{"link":{"no_follow":false,"open_in_new_tab":false,"rel":"","sponsored":false,"url":{"content_id":229022099665,"href":"https://25145356.hs-sites-eu1.com/en/jobs","href_with_scheme":null,"type":"CONTENT"},"user_generated_content":false}},"type":"normal"}]{% endraw %}{% end_module_attribute %}{% module_attribute "child_css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "definition_id" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "field_types" is_json="true" %}{% raw %}{"buttons":"group","styles":"group"}{% endraw %}{% end_module_attribute %}{% module_attribute "isJsModule" is_json="true" %}{% raw %}true{% endraw %}{% end_module_attribute %}{% module_attribute "label" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "module_id" is_json="true" %}{% raw %}201493994716{% endraw %}{% end_module_attribute %}{% module_attribute "path" is_json="true" %}{% raw %}"@projects/aca-group-project/aca-group-app/components/modules/ButtonGroup"{% endraw %}{% end_module_attribute %}{% module_attribute "schema_version" is_json="true" %}{% raw %}2{% endraw %}{% end_module_attribute %}{% module_attribute "smart_objects" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "smart_type" is_json="true" %}{% raw %}"NOT_SMART"{% endraw %}{% end_module_attribute %}{% module_attribute "tag" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "type" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "wrap_field_tag" is_json="true" %}{% raw %}"div"{% endraw %}{% end_module_attribute %}{% end_module_block %}
Read moreWant to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!

Want to dive deeper into this topic?
Get in touch with our experts today. They are happy to help!


