If you got to this page, and you are not a bot, thank you for taking the time to read about me!
And if you are a bot: hi. I probably built one of your cousins.
My name is Darío Kondratiuk, and I’m a software developer from Buenos Aires, Argentina. I’ve spent 25 years teaching computers how to use the software we write. It took me most of those years to notice that’s what I was doing.
Early days
I may not be able to say that I hacked my Commodore 64 in the 80s, but I can say that I wrote my first lines of C# code back in 2001, when the .NET Framework 1.0 Beta 2 was released.
I worked on enterprise projects for 10+ years. Those were fun days. I started playing with ORMs back in 2004 (Entity Framework wasn’t even in alpha). I started using OJB.NET, then turned into DomainObjects.NET, which was a port of OJB. After a few months using it on many projects, I ended up becoming part of the maintainers team. My most important contributions were implementing the Oracle provider and the composite primary key support. I was also an early adopter of Telerik products. It was super fun playing with Ajax panels a few years before ASP.NET AJAX came to light.
The public web
Joining MultiTracks.com in 2015 was a life changer. I started working as a remote developer, which is no small change. MultiTracks.com helped me to get into what I call the real public web. I had to learn how to deal with massive concurrency, hackers, caching, time zones, etc. Internationalization, multi-currency, multi-payment support. Things break in very different ways when the whole world is your user.
The porting habit
Somewhere along the way I picked up a habit: something great shows up in JavaScript, and I can’t sleep until .NET has it too.
That’s how Puppeteer-Sharp was born, a C# port of Google’s Puppeteer. I started it as a side project to see if it was even possible.
- 36M+ downloads on NuGet
- 3.9k+ GitHub stars
- Still shipping, 8 years later
Then 2020 arrived with new challenges: it’s Playwright time! So I did it again with Playwright-Sharp. That one got a better ending than I expected — it went to Microsoft and became the official .NET version of Playwright.
I know what you might be thinking: did I give the project away?
I didn’t give the project away. I gave it a better home.
Somewhere in the middle of all that I wrote a book, UI Testing with Puppeteer, and Microsoft made me an MVP seven years in a row. I still don’t fully believe that second part.
None of this was a solo trip. Puppeteer-Sharp has hundreds of contributors, and plenty of them taught me things about my own project. It’s not my project. It’s ours.
Teaching computers to test
These days I build AI agents that test software at mabl. Agents that open a real browser, explore an app the way a person would, write the test, run it, and fix it when it breaks. I also built mabl’s MCP integration, so agents like Claude can create, run and debug tests on the platform without a human in the middle.
I also build small tools that make working with coding agents less painful, like cronito, and I write about all of it here.
And here’s the thing I only noticed recently. In 2004 I wrote code so developers wouldn’t have to write SQL by hand. In 2017 I wrote code so .NET developers wouldn’t have to write JavaScript to drive a browser. Today I build agents so nobody has to write the same login test for the 40th time.
It turns out my whole career has been the same job: removing the boring part between what you mean and what the machine does. Agents are just the next boring part to remove.
Final words
I love the open source community. I love not only contributing to open source projects but also helping developers be part of this great community.
And wrapping up, if we meet in the future, the only thing you’ll need to know about me is that I like IPAs.
Don’t stop coding!