Building Eignex in the Open

• 2 min read • By Rasmus Ros

I’ve always been fascinated by applying optimization to solve real-world problems.

It is often an inherently multidisciplinary activity, and there is something deeply satisfying about taking distinct, often siloed ideas and jamming them together to create something that is fundamentally better than the sum of its parts. In my PhD thesis it was search-based optimization, multi-armed bandit algorithms, combinatorial optimization, probabilistic machine learning, and of course, software engineering.

I wrapped up my PhD thesis back in 2022. I loved the work itself, digging deep into continuous optimization and A/B testing, but I realized pretty quickly that I didn’t want to stay in academia.

The environment felt incredibly results-driven, but often in the wrong way. It felt like to be successful you have to play the academic game of marketing your work, rather than the pure engineering challenge of solving a hard problem and making it robust.

I wasn’t ready to stop working on optimization just because I left the university, though. I actually find this stuff fun. I wanted to keep building, but I wanted to build tools that actually work in the real world, not just in a paper.

That’s basically why I started the Eignex project.

Why Open Source?

To me, open sourcing the work felt like a no-brainer. It wasn’t a strategic decision I thought twice over.

First, I enjoy writing high-performance code, and it’s simply more fun when other people can use it. But more importantly, there is a trust factor.

If you are building infrastructure that is going to automatically tweak parameters on a live production system, you shouldn’t be doing it inside a black box. If a piece of software is going to turn knobs on my server, I want to see the code. I want to know exactly how it makes decisions and how safety constraints are enforced.

That’s why all the building blocks of the core engines are public. You can audit the math yourself and contribute if you want.

The End Goal

Let’s be real: making money on open source is notoriously difficult. I’m not under any illusions about that, and I’m not trying to build something to make a living out of.

The plan, though, is to eventually build a managed SaaS.

It doesn’t exist yet. Right now, I’m just focusing on building the core engine from the bottom-up, one library at a time. But the long-term goal is to build a platform that handles the messy parts of running these optimization loops in production. Things like dashboards, persistent state management, and k8s setup.

If I can eventually get that managed service to a point where it covers the server bills, I’ll call that a win.

For now, I’m just building.