Here you’ll find my thoughts, experiences, and learnings from my journey as a software engineer. From technical deep-dives to project retrospectives, I share what I learn along the way.
Recent Posts#
Check out my latest posts below, or browse through the archives to find topics that interest you.
The Challenge: Creating an All-in-One Wireless Audio System It all started with a simple desire: to transform my used LG SK9Y soundbar into a comprehensive wireless audio streaming solution. I wanted to stream audio from multiple sources - my Mac, Apple devices, Windows laptop, and Fire TV - all wirelessly through WiFi and route it to an Alexa home theater setup.
The goal was ambitious: create a seamless, multi-protocol audio streaming system that could handle various streaming standards while maintaining high audio quality and minimal latency.
...
The Beginning: Why Kubernetes? It all started with a simple desire to learn Kubernetes. As someone who’s always been fascinated by container orchestration and distributed systems, the idea of managing multiple containers across a cluster was incredibly appealing. However, there was one significant challenge: limited resources.
Traditional Kubernetes clusters require substantial computing power and memory, which wasn’t feasible with my current setup. That’s when I discovered K3S - a lightweight Kubernetes distribution designed specifically for resource-constrained environments.
...
The Challenge: Network-Wide Privacy Protection The AdGuard project addresses a fundamental privacy concern: “How can we protect our entire network from tracking, ads, and malicious content?” This isn’t just about browser extensions - it’s about implementing DNS-level protection that works across all devices and applications.
🛡️ What I Built AdGuard provides comprehensive network protection:
DNS Filtering: Block ads and trackers at the DNS level Privacy Protection: Prevent data collection and tracking Malware Protection: Block malicious domains and content Parental Control: Filter inappropriate content Custom Rules: Create personalized filtering rules 🛠️ Technical Implementation Docker Deployment version: '3.8' services: adguard: image: adguard/adguardhome:latest container_name: adguard restart: unless-stopped ports: - "53:53/tcp" - "53:53/udp" - "3000:3000" volumes: - ./work:/opt/adguardhome/work - ./conf:/opt/adguardhome/conf DNS Configuration Custom DNS server setup Upstream DNS provider selection Filter list management Query logging and analytics 🎯 Key Benefits Network-Wide Protection: Works on all devices Performance: Minimal latency impact Customization: Flexible filtering rules Privacy: No data collection or logging Reliability: High availability setup 💡 What I Learned DNS protocol and filtering techniques Network security and privacy protection Docker container management Custom rule creation and management Performance monitoring and optimization The AdGuard setup provides essential privacy protection while maintaining network performance and reliability.
...
The Challenge: Bringing Chess to the Web The Game Chess project was born from a desire to combine classic game logic with modern web technologies. “How can we create an engaging chess experience that works seamlessly in the browser?” This wasn’t just about building a simple game - it was about implementing complex chess rules, creating an intuitive interface, and providing a smooth multiplayer experience.
♟️ What I Built The Chess Game is a comprehensive web application featuring:
...
The Challenge: Scaling Manual Testing The Test Automation Framework project was born from a common problem in software development: “How do we ensure quality at scale when manual testing becomes a bottleneck?” This wasn’t just about writing automated tests - it was about creating a comprehensive framework that could handle complex web applications, provide reliable results, and integrate seamlessly into CI/CD pipelines.
The project combines Python’s power with Selenium’s web automation capabilities to create a robust, maintainable, and scalable testing solution.
...
The Challenge: Building a Self-Sufficient Digital Home The Docker Services homelab project was born from a fundamental question: “How can we take control of our digital lives and reduce dependence on external services?” This wasn’t just about setting up a few containers - it was about creating a comprehensive, self-hosted infrastructure that could rival commercial services while maintaining privacy and control.
The project combines multiple Docker services to create a complete homelab ecosystem covering automation, monitoring, privacy, and management.
...
The Challenge: Why Build a Task Queue in Go? The idea for Go Task Queue v2 came from a simple need: “How can we process thousands of tasks efficiently?” I was fascinated by Go’s concurrency model and wanted to build something that would truly leverage the power of goroutines and channels.
This wasn’t just about building another task queue - it was about understanding concurrent programming, distributed systems, and performance optimization. The project became an exploration of Go’s unique approach to concurrency and how it can be used to build high-performance systems.
...
i recently built this website using hugo and the papermod theme. here’s what i learned and why i chose this stack.
why hugo? hugo is fast. really fast. it generates my entire site in under 100ms. that’s important because:
speed matters - users expect instant page loads seo benefits - google loves fast sites developer experience - quick builds mean faster iteration why papermod theme? papermod is clean, minimal, and focused on content. it’s perfect for:
...
The Beginning: Why Autonomous Driving? It all started with a simple question: “How do autonomous vehicles actually work?” As someone who’s always been fascinated by cutting-edge technology, the idea of building something that could simulate autonomous driving was too compelling to ignore.
The CARLA Driving Simulator Client project became my most ambitious undertaking to date. It wasn’t just about writing code - it was about understanding the complexities of autonomous systems, real-time data processing, and building something that could potentially contribute to the future of transportation.
...
The Challenge: Making Technology Accessible to Everyone The Inclusive HCI Workshop website project was born from a fundamental question: “How can we create digital experiences that work for everyone, regardless of their abilities or disabilities?” This wasn’t just about building another website - it was about creating an inclusive digital space that embodies the principles of Human-Computer Interaction (HCI) and accessibility.
The project focuses on creating a workshop website that serves as both a platform for information and a demonstration of inclusive design principles in action.
...