My Story

My journey from hardware maintenance and writing simple apps to designing and maintaining my own infrastructure.

2021

Hardware

This was the year when I seriously began my adventure with technology. Back then, I focused mainly on hardware:

  • In the middle of the GPU market crisis, I built my own workstation. With minor modifications (replacing faulty RAM, GPU upgrade), it has been serving me reliably ever since.

  • I migrated a laptop system from an HDD to an SSD.

    • This optimized the boot time from 1:50 min down to 15 seconds.
    • Fun fact: I cloned the drives directly via SATA, without using any dedicated cloning hardware.

2023

First Code

  • CRUD Fundamentals: My first projects focused on understanding communication between the frontend and the database.
  • Application Logic Basics: Learning how to handle sessions and basic data operations.
<?php
 
session_start();
 
require_once "dbconnect.php";
 
$connect = new mysqli($host, $user, $pass, $name);
 
if ($connect->connect_error) {
    $_SESSION =  "Error: " . $connect->connect_errno;
} else {
    $query = "SELECT * FROM zadania";
 
    if ($result = $connect->query($query)) {
 
        if ($result->num_rows > 0) {
            echo "<table>";
            echo "<tr>
                    <th>Task ID:</th>
                    <th>Task Description:</th>
                    <th>Date Created:</th>
                    <th>Deadline:</th>
                  </tr>";
            while ($row = $result->fetch_assoc()) {
                echo "<tr>
                        <td>" . $row["idzadania"] . "</td>
                        <td>" . $row["zadanie"] . "</td>
                        <td>" . $row["data_zapisu"] . "</td>
                        <td>" . $row["termin"] . "</td>
                      </tr>";
            }
            echo "</table>";
        } else {
            echo "<b>The table is empty.</b>";
        }
 
        $result->close();
 
    } else {
        $_SESSION = "Invalid query.";
    }
 
    $connect->close();
}

Beginnings of Administration and Hosting

Parallel to learning programming, I began exploring service maintenance. My "testing grounds" were Minecraft servers that I hosted for friends.

These humble beginnings in the Windows CMD were the direct impulse for my later transition to Linux, Docker containerization, and ultimately building my own Proxmox-based homelab.

2024

2024 marked a breakthrough in my approach. I realized that code doesn't exist in a vacuum; it’s just one piece of a larger puzzle. Experiences with hosting game servers on Windows showed me that I needed professional tools for management and application hosting.

Homelab

  • I deployed my first virtualization server based on Proxmox VE, creating my first homelab.

  • I took my first steps in network configuration (VLANs, Subnets, Port Forwarding, etc.).

Organization of Work

I learned to work with Git. Moving my projects to GitHub forced me to focus on cleaner code and documenting changes.

Developing Programming Skills

Along with the shift in perspective, I started paying more attention to code quality and project structure. My applications stopped being one-off scripts and began to resemble cohesive, scalable systems.

An example is one of my projects from this period - a web application for creating and managing quizzes:

2025

Vocational Exam

INF.03 Exam: I achieved a 97% score on the practical exam, which served as formal confirmation of my skills.

Projects

  • Better Environment Configuration: I started using the Dotenv library in PHP projects, allowing for better project organization and separation of sensitive data.
<?php
 
session_start();
 
require "../vendor/autoload.php";
use Dotenv\Dotenv;
 
$dotenv = Dotenv::createImmutable("../");
$dotenv->load();
 
try{
 
    $connect = new mysqli($_ENV['DB_HOST'], $_ENV['DB_USER'], $_ENV['DB_PASS'], $_ENV['DB_NAME']);
 
    if($connect->connect_error){
        throw new Exception();
    } else {
        $query = "SELECT * FROM accounts";
        if($result = $connect->query($query)){
            if($result->num_rows != 0){
                header('Location: /');
                $result->free();
                $connect->close();
                exit();
            }
            $result->free();
        } else {
            throw new Exception();
        }
        $connect->close();
    }
 
} catch (Exception $e){
    $_SESSION['login_error'] = "Server error.";
    file_put_contents('../logs/error.log', date("Y-m-d H:i:s - ") . $e->getMessage() . PHP_EOL, FILE_APPEND | LOCK_EX);
}
  • Security: I conducted an audit of my own projects. This is when I eliminated vulnerabilities, such as securing .env files using .htaccess.
RewriteEngine On
 
RewriteRule (^|/)\.env$ - [F,L]
  • Conventional Commits: As the number of maintained projects grew, I implemented the semantic commit standard to ensure better change documentation.

2026

Homelab Evolution

Currently, I am expanding my homelab infrastructure, focusing on automation, backups, and service security.

What I've changed in 2026:

  • Added a second node running Proxmox Backup Server and configured an optimal backup system.
  • Automated Docker service updates using Renovate, following GitOps methodology. I configured Renovate to automatically open Pull Requests for Docker image tag updates. Meanwhile, I refactored docker-compose.yml files, migrating named volumes to bind mounts for better data organization.
  • Improved the monitoring system by deploying Grafana + Prometheus stack, reconfiguring BetterStack, and refining the email notification system.
  • Fine-tuned firewall rules for critical machines.

You can find a detailed description of these deployments in my homelab overview.

Breachlab.org

In May 2026, I was officially invited to join the BreachLab.org team as a Founding Crew member. Following a series of detailed bug and vulnerability reports on the platform, I joined the core team building this project.

My role in the project:

  • Pre- and Post-deployment Level Auditing: Testing and breaking new training tracks before they go public. Finding vulnerabilities, privilege escalations, validation bypasses, and potential flag leaks.
  • Technical Support and Mentoring: Assisting platform users who get stuck on challenges by guiding them toward the right approach using controlled hints.
  • Qualitative Analysis and Feedback: Evaluating the architecture and user experience of levels, identifying areas for optimization and further platform growth.

This collaboration granted me direct insight into advanced cybersecurity training environments and a real impact on the development of one of the fastest-growing wargame platforms.

Other Achievements