About me

Hi! My name is Ernest, and I am a software developer with nearly ten years of experience. Programming is not just my job but also a passion that I develop every day.

On this blog, I will share knowledge and thoughts mainly about programming, though not exclusively. You will also find posts about my passions.

Technologies I specialize in

Backend

My main area of expertise is PHP, particularly:

  • Symfony – a modern PHP framework that supports building scalable and efficient applications while allowing for the best architectural practices.

Frontend

Although I specialize in backend development, I am no stranger to frontend technologies. I have worked as a full-stack developer and had the opportunity to use various technologies, such as:

  • Symfony UX – a set of tools seamlessly integrated with Symfony that facilitate building interactive applications.
  • Vue.js and NestJS – frameworks I have used in various projects.
  • jQuery and Vanilla JS – classic solutions that still have their place in some applications.

Flutter

When there is a need to develop a mobile application, my technology of choice is Flutter. It allows for the creation of cross-platform applications with a single codebase while providing a native-like experience. Its efficiency, flexibility, and growing ecosystem make it an excellent tool for mobile development.

Rust

Lately, I have also been experimenting with Rust, mainly for personal projects and automating daily tasks. I also use it in situations where extreme performance is required.

My approach to software architecture

For the past few years, I have been deeply studying Domain-Driven Design (DDD) – both in its strategic and tactical aspects. I apply these techniques in system design and refactoring legacy application architectures. I believe that well-designed software systems should not only be efficient but also easy to develop and adapt to changing business needs.

Open Source Contribution

Open source has been an important part of my work for many years. One of my earlier projects was Kbin, a federated microblogging and content aggregation platform based on the ActivityPub protocol. It was created as an alternative to traditional discussion forums and aggregators and received support from the NLnet Foundation. I later stepped away from active development for personal reasons and left the project in the hands of the community.

My main open-source project today is Age of New Worlds (AoNW), a hex-based 4X strategy game built with Dart, Flutter, Flame, and Serverpod. It includes exploration, fog of war, movement, city growth, production, research, combat, AI opponents, save and load, and a server-backed multiplayer foundation. The game is available for free across desktop and mobile platforms, and its source code is available on GitHub under the MIT License.

AoNW is also a long-term learning project. PHP and Symfony remain my main professional stack, while I use the game to learn Dart and Flutter and to develop my skills in game architecture, rendering, AI simulation, backend services, automated testing, and cross-platform delivery. I plan to develop the project for years, gradually improving its mechanics, interface, architecture, development tools, and visual layer.

I still believe open source is one of the best ways to learn in public, share practical work, and create software that other people can study, use, and improve.

Beyond coding

Apart from programming, I have several other passions. One of them is discovering Zeeland – both from a historical and natural perspective. I love long walks on the beaches, exploring old towns, and discovering lesser-known corners of the region.

Another great passion of mine is music – specifically, playing the guitar. After a few years’ break, I am returning to playing, and I enjoy it immensely.