User data is today's currency. Government regulation needs to catch up to prevent it from being concentrated in a few hands.
Check out our open-source Feature Flagging system - Flagsmith on Github! I'd appreciate your feedback ❤️
Ever wonder if you could build a business by providing services to teams that use an open source project? For many contributors to open source projects, this strategy represents a viable path to getting a business off the ground. Back in 2013, Maciej was a key contributor to the Matomo (then called Piwik) open source project. After learning how he could provide value to the open source project and support users of the code base, he co-launched Piwik PRO to offer support and consulting for users of the open source platform.
In 2016, Piwik PRO went independent and shifted its focus on developing an enterprise version of its web analytics software. Together with his COO Piotr Korzeniowski, Maciej joined me to talk about the company’s genesis, core philosophy and future direction.
My favorite quote from the interview was when we were talking about user data: "User data is today’s currency. Government regulation needs to catch up to prevent it from being concentrated in a few hands."
I couldn't agree more with this sentiment and it's something that I've heard from many in the open source community. Giving people the choice as to whether they want to be tracked and taking part in those decisions is critical to keeping the web an open place long term.
Enjoy the episode!
We've got Maciej and Piotr here from Piwik. Thanks again so much for your time. For people who don't know, maybe you could give us an intro into your business and your platform.
Thanks for having us. Piwik PRO is an alternative to Google Analytics. That's probably the easiest way to explain it. We're focused on user privacy and security.
Talk a little bit about the genesis of the business. How did it start? Did it start as an open-source project or did you just sit down and go, “We want to build an analytics company?” How did that work?
I was one of the first contributors to the open-source project that was called Piwik. Now it's called Matomo. It's an interesting story. The project started in 2007. I was having an advertising network for influencer bloggers back then. I was looking for statistics system. There was a first version of Piwik and it was very rough. I started contributing to it and using it for my business. Over time, I became a core team member and a contributor. Piwik (Matomo) became more popular. It was the next logical step to create a component that will provide professional services and support. Up until 2016 when the company was created, it was just a name and several contributors around the world creating the project.
We called the company Piwik PRO. The early revenues came from services. Mainly we had companies to set up and optimize the server configurations, and fix issues with the Piwik open source. As we were facing more and more demanding clients with more performance issue, we realized that was the time that the platform was over ten years old with a lot of legacy. We thought this is the time to start rebuilding it and creating a more enterprise type version of it. That's where the vision of the founders were not aligned.
I was back then CEO of the company, one of the major shareholders, and we split. We bought out the other founder, and this happened in 2016. At this point, we started building a product called Piwik PRO Analytics Suite. While at the same time, we kept supporting the clients that were using Piwik open-source and they had our support packages. That’s a short version of the story. There was a lot that’s happened probably in between, but it's common for open-source project. At some point, there was some parts of the business that split. It happened in cases of Drupal or MySQL, etc.
Do you want to explain what you both do within the organization now?
Maybe I will let Piotr speak because I'm taking all the airtime.
I’ll introduce Maciej. He is the CEO of the company and is responsible for the marketing and sales side of things here in the company. I'm Piotr. I'm the COO of the company. I care about the partnerships and service delivery side of the company.
This is interesting because most of the episode here, they started with their own idea. Generally, the people I’ve been speaking have been responsible for being the first commit in that repository history. Talk a little bit more about the first commit. I'm curious to know how you got from that to becoming involved in the project from an open-source point of view, and then discussing a commercial business because that's a big undertaking. It's a big chunk to bite off.
My background is technical. I was committing to the open-source project. I wasn't the first one to commit it. The founder of Piwik, now Matomo is Matthieu Aubry. He created the first commit. There were a lot of other people that contributed to that over the years. I was one of the first ones to join because I started using the product commercially. It turned out that it wasn't usable commercially yet. I was the first one to see it on my own in business because I was both doing marketing and development back then like bootstrapping the company. I saw a lot of deficiencies myself and try to correct them so that can be used. Over time, that business was sold. I founded Piwik PRO with the person who did the first commit. Piotr joined us 1 or 2 years later.
The company was founded in 2014. I'll correct that because you said 2016.
2016 was the split.
We run this business with the original founder of the open-source part for three years. We gained some traction. We had a backlog of venture capital firms that were interested in going into the company. That was around the time that we decided that the visions were different. Neither Matthieu nor us wanted to go in the same direction. He wanted to keep this completely open source and free. We wanted to make sure that we can deliver to the customers the best kind of software. With that, we needed to start from scratch because this platform was commercially non-usable for high volume traffic customers, which we wanted to cater our offering to. Between 2013 and 2016 was the time that Piwik PRO was supporting the project, one of the main contributors to the code. Our employees and partners were developing the platform together. Around the time, we wanted to have an outside investor. That’s when we split. When we started developing the proprietary software that replaced the open-source part that we have in the platform.
Was it easy to come to an agreement with the other open-source contributors way back when you first talked about building a commercial business? Was it quite obvious who was going to be involved or who deserved to be involved? Were there arguments or was it fairly straightforward?
It was relatively straight forward. Back at the time, I had a software house on the side that was handling 95% of the consulting requests because there wasn't anyone full-time doing that. That was the foundation of the business. I took this people who already did consulting jobs support and put them as employees of Piwik PRO. I was the main person who was doing it on the commercial marketing level to create the product offer. On the other end, it was obvious that the founder who holds the trademark needs to be also the party that would be the shareholder. At that time, the rest didn't get shares in the company. Some of them become consultants or full-time consultants that we put on payroll so they can keep contributing to the open source but be paid for that. That was sufficient at the time. There wasn't a whole lot of people involved in the project. We didn't have 20 or 30 people to discuss it with. There were a couple of people and the rest weren't interested in building the business because they had something on the side. They were contributing in some of their spare time after hours.
Did the introduction of commercial opportunities pull the project from a software point of view in a more commercial direction that made it harder to deploy locally, harder to hack on if you wanted to do some contributions?
One thing that happened is if you look at that history of commits on GitHub and that's public, you will see that the highest number of lines of code committed in commits were in the years that the company had these contributors on payroll doing the development of the open-source project. That was between 2013 and 2016. We had a completely separate set of people doing the commercial work. Those people who were the original contributors focused on the core platform and open-source product. While we had a separate team of developers doing the commercial platform, developing a cloud version, and all the things that were around it.
Were they on the same repository or were they two separate repositories?
Everything else was in the private repository, our cloud platform, etc. The core contributors did some changes that allowed us to make certain things easier, but they weren't changing the product in any way that it would make it more difficult to install for community users who were downloading and installing it themselves. From that community perspective, the outside perspective, or the developer's perspective, not much has changed when the business was involved, besides that there were more developments and investment into the product because we had several people on payroll that were doing the community version development.
I would add too that there were some suggestions on how to improve certain bits of the code that wasn't working that was deployed live on our customer's infrastructure. Our support followed through on the requests of the customers who were having that. It should be fixed on the core level. This flow was in there.
At some point, you were like, “We're going to do it. Get it on a new empty directory and start working on a completely new platform.” Have you read Joel Spolsky’s blog post on why you should never do that?
“I wasn't the first one to commit it. The founder of Piwik, now Matomo is Matthieu Aubry. He created the first commit. There were a lot of other people that contributed to that over the years. I was one of the first ones to join because I started using the product commercially.”
I personally never read it, maybe we shouldn't have done something.
He might not be right, I don't know. Talk about that because that's a fascinating decision to make. Was there a whole bunch of technical debt? If you're not scaling or if you're finding it hard to scale, that can be a tight corner to be in.
We had some high-volume customers in terms of traffic and they were displeased with the software that we were supporting for them. That was one contributing factor. Another was the fact that our developers were actively asking us when we are going to refactor the whole thing from scratch to be able to support this. That was another contributing factor. The third one was that we’ve seen traction on the business side that we can acquire new business. We will rather not to lose reputation and acquire this business on a platform that we believe works very well. Those three factors made us think like, “Let's start from scratch,” instead of redoing on this whole application, which is written in languages that are not commercially used anymore. It will be easier recruiting new talent to the project and moving the customers to that platform. Those three and the fact that we were able to acquire funding for this development were the deciding factors to say, “We need to do it from scratch. We need to do it as a proprietary product and be able to offer migration service from one platform to another at some point in time.”
Maybe I will add a couple of technical details because it may sound like a crazy idea to start from scratch, leave what's behind and start new. We did it over several years, first of all, while having both products working side by side. Secondly, think that you have ten-plus years legacy in Monolith PHP, plus MySQL platform with front-end in jQuery, etc., and you are going to do a modern microservices-based platform on much newer backend technology. You cannot do it chunk by chunk. What we decided to do is let's leave that tracking as is.
First of all, we make sure we have a new database backend where we can migrate data. We keep collecting data in all database, and then move them over to the new database where we choose ClickHouse. It is a database that is designed for analytics use cases. We then build a new UI on top in the React JS, which will give us flexibility to build a whole platform of common components library. Once we have that, we can slowly replace all the functionalities that we need, and then finalize the old platform and switch completely to the new one.
Over the years, we had clients that were still using open source, but they were running side by side with the new platform, up until the moment where they can disable the old part and use the new one. We received positive feedback the moment that we introduced new analytics engine, especially this address. Even in the beginning, it had last functionalities in context of reporting because we shifted early a few years ago. Even that was much better in terms of performance and things that you can do like creating some custom reports, etc. That encouraged us to now we have to replace all the other functionalities. For example, 2020 was a year of catching up with Google Analytics rather than replacing the functionality that we had in the open-source product. We moved away from what we had and now we are trying to catch up with the best-in-class platforms in the world.
When you came to rewrite everything and you had the discussion about what language to write in, how long did that fight last?
The longest research was on the database. We did all various benchmark and queries. We had several years of used cases so we could see how those would work and which of those will work. What was additionally complex is that we didn't want to do it in a way like, “We can use cloud services. Cloud will scale it on AWS or some other cloud and that's it.” No, because we had to keep the version that is on-premise or deployable in the private cloud for clients. We had to have a simple stock, but on the other end, that can scale to billions of events. That was high-level constraints, which had us to narrow it down to ClickHouse. We benchmark lots of different reports of used cases, segmentation, etc. Ultimately, that was the best choice that we found on the market.
It’s interesting because five people that I've talked to on this show are using ClickHouse. They all start glowing with praise about how awesome it is. I try and keep ahead of a lot of this stuff. I hadn't heard about it that much. It seems to be under the radar a little bit, but super popular for the people that are working on top of it.
Especially if you work with a lot of data, aggregation and filtering, that's great. We also use Elasticsearch, but it's no longer for analytics because we also build a customer data platform module where data is more around customer. It makes more sense. For the analytics used cases, I haven't seen a better database engine in the market so far.
What language did you write the new version in?
We have various languages used. The primary services are written in Python. For example, on the tracker level, because it's a microservices, we experiment with some newer technologies such as Rust language, which is super fast. It makes sense for the tracker, but it doesn't make sense to write the whole platform with it.
What do you mean by the tracker?
Tracker is the component that receives all the requests to collect the data. It does some transformations. It's the endpoint that receives the maximum volume of traffic. It's not users logging into applications viewing data, but wherever you install Piwik PRO to track your website or mobile app, this endpoint receives this data about users going through the pages on the site, or tracking all the behavioral data from that.
We've got a similar architectural advantage in that there are only three API end points of ours that have a ton of traffic. They're 99.999% of our traffic. We're trying to figure out what language to rewrite those in. How many times more efficient is the Rust code than the Python code? Did you have a Python importer at all?
That’s several dozens of times magnitude. It’s like a C++ type of code but it's not as difficult to write in.
As a side note, we also did a competition inside the company. People could submit their proof of concepts of how could this tracker be coded and what language they would use to do that. We benchmarked it against the tracker with the open-source version. The Rust version won the first prize. This is how we decided on going with it.
No one has submitted some assembly code?
When you're deploying stuff on-premise now, I'm curious to know how you manage that. Deploying stuff on-premise is very different to building a SaaS platform that people are paying for. How do you manage that friction?
I can tell you a little bit from the business perspective. Maciej can chime in on the technicalities. From the business perspective, we try to avoid going on-prem to the customer with our team to do it. We do it remotely. What we do is we agree on some time and place that the installation will commence. First of all, the customer receives a list of software and hardware requirements on how we're going to do this deployment for him. Once that's out of the way and we verify with running our scripts on whether or not this procured infrastructure is up to the task to be able to run the solution. This is the moment that we devote a person to deploy the platform onto that infrastructure. Once everything is done, then the customer may choose to cut off our access whatsoever, or leave some end points for monitoring the infrastructure so we can react when he has some issues with it. I'm now more on the technical level so maybe Maciej can tell you a little bit of that.
There’s an exponential difference in terms of complexity of deploying on-premise analytics versus things like GitHub has an on-premises version. You download an image, run that on a virtual machine and that's it. It is not that easy with analytics, especially that on-premises is chosen by more enterprise-type of customers. They need high availability. Everyone needs high availability in analytics space, but let's say these customer cannot afford not having that.
“User data is today’s currency. Government regulation needs to catch up to prevent it from being concentrated in a few hands.”
This means combining it with high volume of data where you need to have databases like on physical type of servers, or at least not virtualized, if you want to have high performance. It turns out that the minimum infrastructures like four machines to guarantee high availability, to applications, to database servers, but in many cases, it's more. That's the difficulty. What we did so far is we did automation that we can run. We don't have self-serve instructions yet, but that's something that we are often asked about and we are working on. This will shape with our new orchestrator. We are switching now from Launcher to Kubernetes. This will help us to deliver at some point the containers with self-installation instruction.
It won’t be as easy as it used to be with open-source product, which was Monolith PHP plus MySQL application that you can run on a hosting, but it's also a completely different platform. We don't aim at having it that easy because we cannot deliver the performance, not to mention that we want to have it in microservices type of deployment where we can scale each service separately rather than dealing with a Monolith application.
Where does that leave the open-source repository and project now? How involved are you guys on that?
We are no longer involved in that. Since the split, we were not given access. We are even removed from some of the pages, which is sad despite the contributions that we made. We went our way. We maintained for some time a fork for the sake of our customers and have control over that. Since we have now proprietary platform, that's no longer the case. We transitioned fully to the Piwik PRO Analytics Suite part that we deployed for the customers.
Did that cause any problems or sadness within the community? Is the open-source project still successful?
I believe that there was nothing else publicly published like a statement from us and separately by the community leaders on what that split means. In a nutshell, it means that everybody goes their separate route. Since then, the people who actively contributes to the open-source part establish their own entity and monetize the solution by running their own cloud service. You can subscribe to that. We don't compete with them at all because they cater to the needs of small and medium businesses with their offering and pricing scheme and the terms that they have.
Whereas we try to focus solely on governments and big enterprises out there. I would say that everybody has their own piece of the cake here. I don't believe, at least not on our part, that there is any resentment or whatsoever. It's a common thing for open-source project or for businesses to make a left turn or right turn at some point, depending on what makes a lot of sense for everybody involved. We respect our shared past. If we would have to do it again, we would probably do it. We wish them well.
It seems like every few weeks there's a big new analytics project at the top of Hacker News that respects your privacy and has got a nice self-hosted option. Has that movement over the last few quarters or years helped you guys? Have you felt like there seems to be a bit of a backlash about the amount of data that people like you are collecting on the world?
We love the fact that every now and then, a new open-source project pops up and we've seen that. We think that it is the fact that people have awakened and understand the privacy concept. Since our platform helps with making sure that you abide by the privacy laws as well, this is in our theme. We like the fact that they are out there. I believe that similarly to what is now Matomo, they cater to the needs of our smaller businesses, may it be bloggers or influencers that have their business out there. They don't need a sophisticated service and don't need to collect a lot of user information to get some insights on how they're performing. They will choose those open-source projects over us. The moment that you need this data with consent first collected and used for some personalization activities, or maybe for some remarketing at some point in time, you will turn to very big companies such as Google or Adobe. We want to be there side by side as an option, as a privacy compliant, you hosted or on-premise hosted option for those customers.
How hard is it keeping up with Google?
It is an effort. I believe that we've done a good job in 2020 to catch up with the majority of the functionalities that they have in Google Analytics. Even the paid version, I'm not sure if everybody knows, but the Google Analytics is not always free. If you go across a certain threshold of action, it costs a lot of money per year. We did catch-up for the last couple of years. We are in a good spot in 2020. In 2021, Google Analytics has released a new version, which is completely new and refurbished. It’s something that we believe aims to compete with different vendors such as Segment or maybe Amplitude to name a few.
It has gotten much more complex. We would rather be a more user-friendly alternative to that. We'll probably not develop many more features that compete directly with Google and build something new with our own flavor to it. Time will tell. Long story short, competing against Google is hard. I don't envy that and all other Gmail alternatives that there are on the market. If you would like to build a platform from the ground up that would remotely resemble something that Google Analytics is, you would need to spend a couple of million dollars at least. This is quite a barrier.
Maybe I would add to that. The thing that helps us and other businesses that compete with free like pay with your data type of businesses is the previous trend that became global. Even before it was GDPR in Germany, we had strict regulation. That's why we were successful in this market as a first market. It spreads throughout Europe with GDPR implementation. Finally, now we see privacy laws that are based on GDPR or in many ways similar popping up all over the world, whether it's Brazil, Indonesia or India, etc.
Even in the US, they are the least strict out of all the privacy laws, the world follows that. A lot of reports that measure the consumer awareness of online data privacy showed that the consumers became more aware, and the brands are trying to cater to that. That's a positive thing. The whole marketing and advertising ecosystem became a Wild West with everyone tracking everything. We try to get it back on track where this is reasonable and respecting the user's privacy.
Do you think that we're going to get back to more of an equilibrium of privacy globally? I read how much data the average smart TV uploads a day. It was like 68 megabytes. That statistic blew my mind.
I think that there will be such equilibrium that you mentioned, but it will take a lot of time to get there. Deregulations are a new thing. The fines for breaking the law are lagging both in Europe and in the US. Every now and then, you'll see that there is a new fine imposed. Whether it is for the cookie law or the privacy or for the GDPR. You can also see some the developments. One of the things I see is that there is an FTC probe in the US on one of the six big behemoths that collects the user data such as Amazon or Google that wants to know exactly how this data is collected and processed. There is a government backlash against the surveillance capitalism. The governments see that the true currency now is the user data and they want to regulate it. This is not on even playing field because there will be always somebody that will collect heaps and heaps of data for the benefit of their customers. At some point in time, the government will catch up. I hope that this will happen sooner than later.
I want to add to that. So far, some of these regulations have this largest data ecosystem created by Google, Amazon, Facebook, etc. The regulators need to catch up so that we are not left with five companies collecting user data and everybody else being banned from using it. Time will tell. I'm also optimistic about that but it will be a bumpy road too.
I spoke to the Plausible Analytics guys. It's nice to see an industry sector fragmenting. That's unusual. Almost everything else seems to be traveling in the opposite direction, but there's a whole bunch of solutions now. Flagsmith has a similar story in terms of I've been running a software agency for twenty years and it came out of that. We had engineers that could work on it. Several years ago, there was no choice in the analytics market for web analytics.
That’s true. Since there is quite large variety of privacy laws and approaches to how you can ensure privacy, this also creates a market of its own. Different solutions can co-exist, like you mentioned Plausible as one. We mentioned Matomo as the other and our solution. We tackle this problem and say, “I don't believe it's a problem or issue,” but we tackle this from a different perspective. Our philosophy is that if you want to collect and process the information, you have to be very clear with the visitor. Why are you doing that? How are you going to use that data going forward? For Plausible, it may be that we'll collect the least amount of data possible, not to irritate the customer by showing him a consent window. There's a different solution to different problems depending on what's the actual business case. I believe that this is somewhat a beautiful situation that everybody can pick their own version of it and be still compliant.
In general, competition is good for innovation. It's good for the consumer like in this case for the businesses more to use the analytics. It's not dominated by one player, but the whole market spread across multiple players that have to keep being innovative to win the customers.
Have you guys got any aspects of your business that are open-source components?
Now we don’t, but we don't say that this won’t be a case in the future. We'll be experimenting with more models and we will have some cool announcements coming that we cannot talk about yet.
“Our philosophy is that if you want to collect and process the information, you have to be very clear with the visitor.”
We hope to release something special. To answer your question, the idea is maybe open-sourcing the whole thing again, but the real issue is with open source here, this is so complex that creating documentation on how to run it yourself would probably not make it the most liked project in the open-source community. It's not simple. There is some training involved to be able to use it and to change it. That's the real issue we have with open sourcing that it won't give us much of a credit on the market.
It's much simpler to develop that it makes it very successful. I don't see that there will be huge success of the open-source projects other than maybe as an acquisition channel of users. From that point, it's sad and it’s true that the more niche you are, the more specialized the product is, the less likelihood that it will become an open-source product that will get many contributors, and that you will get real benefits in terms of new integrations functionality added by the open-source community.
That’s something that has been a recurring theme where you have this paradox that the more successful you are depends on what the market segment is, but especially for something like web scale enterprise analytics. If you're successful and you've got a successful platform, it's going to take even a good developer weeks before they can write a single line of useful code. More than likely, they're going to write a line of not useful code at all. I can't see how you solve that problem. There is Wayland or something, which is very complicated hardcore computer science that still has a large community of people contributing freely to it.
There’s a difference with the community that used the project. If you are a developer and you will use the software, that's a bit different, but with web analytics, who uses web analytics? It's marketers and product managers, not the developers or it’s very rarely developers. That’s the real challenge. If you have developers that are using the product, such open-source projects have much higher chance of big success or at least moderate success with new contributors coming to it and contributing. With end-users being not the developers, it's becoming difficult.
I was speaking to Guillermo, who started NextJS. I looked at their repository and they've got 1,300 people who have committed to that project. I didn't know it was that number. There are different trajectories that these open-source businesses can take or projects. Your story is interesting because you had this clear line separation. I spoke to David Cramer of Sentry. He was saying that they had to make this decision that even though the project was getting harder and harder to deploy, that was what was needed to make the product do what they wanted it to do. At some point, you stopped taking on open-source contributors because the beast is too big. The only people that are going to commit to it are people who has it as their day job and they get paid to do that.
This is the most probable trajectory of the majority of those businesses that are solutions not for the developers, marketers and product people that you will see that. At some point, the beast is so big that you have to pay people to contribute or have people on payroll to do it. Our platform is a beast itself. What we see is open-source projects that are around our product to integrate with some other software or some other framework that our customers are publicly distributing for other customers to use, which is interesting to see that they are doing it. They are sharing this on an open license as well. I hope to have a lot of those integrations in the future. This is a good place to be not only for an open-source project but for our business in general.
Guys, thanks so much for your time. I feel you leap from stage two where people stop contributing because everything is too hard, and you jumped straight to stage three. Maybe that's a good strategy. I hadn't considered it.
It is an unusual story even though it happens in open-source community, but it's a bit of unusual. It's interesting that the business grew on the consulting for the open source. We realized that there are different needs of these customers that aren’t addressed, and they cannot be addressed for multiple reasons that we discussed. It’s also encouraging the people to join open-source project and discover what the customers that use this product want. This is like speaking with customers and seeing users as customers, not necessarily the paying customers, but the users of the open-source project sharing their feedback or requesting certain functionality. It is a great inspiration for creating own components. I encourage every single developer there to contribute to some open-source project because you can learn a lot, not about coding but about the business.
I'm annoyed because I'm old enough to remember life before GitHub. When I had a bunch of spare time, there was no social coding, which people forget. It was a boring time.
When I joined Piwik, the first version was on CVS and SVN.
People don't remember that the first version control system that I ever used was Microsoft Visual Source Safe. The default installation of Source Safe required you to lock every file that you wanted to work on. No one else could write to that file until you unlock it. That sounds crazy. I worked in a job where people would go on holiday and forget to unlock their Source Safe. Someone had to hack into their account and unlock them all. It was nuts. That was Microsoft’s best effort many years ago at how to do source code controller, so we've come a long way.
On the other end, as a closing note, I have an impression that back in the day, it took 2 or 3 developers to create complete enterprise level software. Now, with free developers, you can’t launch a small product because everything got so much more complex. On the other hand, you have technologies that enable you to build things quickly. If you want to have full process done properly with continuous deployment and integration, you'll spend the first month on that alone.
Thanks again, guys. We look forward to that announcement. That sounds interesting. I'm not going to push you on that.
Thank you very much.
Thank you so much for having us.
No problem. Take care, guys.
AdTech and MarTech expert; founder of several successful companies; online privacy rights advocate.
Striving towards more conscious data use and a healthier digital advertising ecosystem, he currently devotes his knowledge and skills into developing Piwik PRO – a privacy-focused analytics platform – the perfect alternative to Google Analytics.
With the help of a team of over 100 people, he’s shaping Piwik PRO Analytics Suite into a must-have for industries handling sensitive data, as well as a platform of choice for every privacy-friendly company. Piwik PRO is widely adopted in the healthcare and financial sectors, among government institutions and by large enterprises, including Fortune 500 companies.
Maciej is also a founder of Clearcode – world’s leading software house specializing in building custom advertising and marketing technology (AdTech/MarTech).