<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: c0d3l0v3r</title>
    <description>The latest articles on DEV Community by c0d3l0v3r (@dc_codes_edcf29466db281f5).</description>
    <link>https://dev.to/dc_codes_edcf29466db281f5</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3963641%2F7216e711-882e-4de6-b3e7-6e3591f6e14d.png</url>
      <title>DEV Community: c0d3l0v3r</title>
      <link>https://dev.to/dc_codes_edcf29466db281f5</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dc_codes_edcf29466db281f5"/>
    <language>en</language>
    <item>
      <title>What Would You Change First About My Developer Portfolio?</title>
      <dc:creator>c0d3l0v3r</dc:creator>
      <pubDate>Tue, 02 Jun 2026 03:39:16 +0000</pubDate>
      <link>https://dev.to/dc_codes_edcf29466db281f5/what-would-you-change-first-about-my-developer-portfolio-50ca</link>
      <guid>https://dev.to/dc_codes_edcf29466db281f5/what-would-you-change-first-about-my-developer-portfolio-50ca</guid>
      <description>&lt;p&gt;I've been working on improving my developer portfolio and would appreciate feedback from other engineers and developers.&lt;/p&gt;

&lt;p&gt;Portfolio: &lt;a href="https://portfolio-one-rust-77.vercel.app/" rel="noopener noreferrer"&gt;https://portfolio-one-rust-77.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The portfolio is best viewed on a laptop or desktop, as some sections include interactive elements that are easier to explore on a larger screen.&lt;/p&gt;

&lt;p&gt;Some specific questions I have:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What was your first impression after opening the site?&lt;/li&gt;
&lt;li&gt;Is the navigation intuitive?&lt;/li&gt;
&lt;li&gt;Are the projects presented clearly?&lt;/li&gt;
&lt;li&gt;Does anything feel confusing, unnecessary, or distracting?&lt;/li&gt;
&lt;li&gt;If you had 5 minutes to improve this portfolio, what would you change first?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A bit about me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Computer Science student&lt;/li&gt;
&lt;li&gt;Interested in backend engineering and distributed systems&lt;/li&gt;
&lt;li&gt;Building projects involving PostgreSQL, Redis, Kafka, Docker, and observability tooling&lt;/li&gt;
&lt;li&gt;Currently looking for internships and software engineering opportunities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm looking for honest feedback, including criticism. If something doesn't work, I'd rather hear it now than during an interview process.&lt;/p&gt;

&lt;p&gt;Even if you only have one suggestion, I'd love to hear it.&lt;/p&gt;

&lt;p&gt;Thanks in advance to anyone who takes the time to review it.&lt;/p&gt;

</description>
      <category>backend</category>
      <category>career</category>
      <category>webdev</category>
      <category>discuss</category>
    </item>
    <item>
      <title>From a Simple Auth Service to a Distributed Authentication Platform with Kafka, Debezium, and Observability</title>
      <dc:creator>c0d3l0v3r</dc:creator>
      <pubDate>Tue, 02 Jun 2026 03:15:27 +0000</pubDate>
      <link>https://dev.to/dc_codes_edcf29466db281f5/from-a-simple-auth-service-to-a-distributed-authentication-platform-with-kafka-debezium-and-3o2</link>
      <guid>https://dev.to/dc_codes_edcf29466db281f5/from-a-simple-auth-service-to-a-distributed-authentication-platform-with-kafka-debezium-and-3o2</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-05-21"&gt;GitHub Finish-Up-A-Thon Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built a Distributed Authentication System as a long-term learning project to explore real-world backend and distributed systems concepts through a familiar use case: user authentication.&lt;/p&gt;

&lt;p&gt;The project started as a simple authentication service with signup and login functionality. Over time, it evolved into a distributed architecture that incorporates event-driven communication, change data capture (CDC), observability, horizontal scaling, and performance testing.&lt;/p&gt;

&lt;p&gt;The current system consists of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PostgreSQL as the primary source of truth for user credentials&lt;/li&gt;
&lt;li&gt;Redis for refresh token storage and session management&lt;/li&gt;
&lt;li&gt;Kafka as the event streaming platform&lt;/li&gt;
&lt;li&gt;Debezium for Change Data Capture (CDC) from PostgreSQL&lt;/li&gt;
&lt;li&gt;MongoDB for materialized user profile documents&lt;/li&gt;
&lt;li&gt;Nginx for load balancing across multiple service instances&lt;/li&gt;
&lt;li&gt;Prometheus and Grafana for monitoring and observability&lt;/li&gt;
&lt;li&gt;k6 for load testing and performance analysis&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When a user signs up, the authentication service writes user data to PostgreSQL. Debezium captures the database change and publishes it to Kafka. A separate profile service consumes the event and creates a corresponding profile document in MongoDB. This allows services to communicate asynchronously while keeping the architecture loosely coupled.&lt;/p&gt;

&lt;p&gt;Beyond implementing features, the main goal of this project was to understand the trade-offs involved in building distributed systems. Throughout development I conducted load-testing experiments, measured replication lag, analyzed bottlenecks, and documented the architectural decisions that shaped the system.&lt;/p&gt;

&lt;p&gt;This project has become my personal distributed systems playground where I can experiment with new ideas, evaluate design decisions, and learn how real systems behave under load.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;h4&gt;
  
  
  GitHub Repository
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Repository:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://github.com/c0d3l0v3r-HeHe/distributed-auth-system" rel="noopener noreferrer"&gt;https://github.com/c0d3l0v3r-HeHe/distributed-auth-system&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Signup Flow
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F30edq7k4gtyzq4aa94en.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F30edq7k4gtyzq4aa94en.png" alt="Image showing the signup flow in the distributed system" width="800" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Login Flow
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnt91s2dpdcn63mw3sbyk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnt91s2dpdcn63mw3sbyk.png" alt="Login architectural diagram" width="800" height="848"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains additional architecture diagrams, performance experiments, load-testing results, observability metrics, and detailed documentation covering the design decisions and trade-offs explored throughout the project.&lt;/p&gt;

&lt;p&gt;Rather than reproducing all of those results here, I've kept this submission focused on the project's journey and evolution. If you're interested in the deeper technical details, bottleneck analysis, replication lag measurements, scaling experiments, or observability setup, you'll find them documented in the repository.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Comeback Story
&lt;/h2&gt;

&lt;p&gt;This project was not originally intended to be a standalone distributed authentication platform.&lt;/p&gt;

&lt;p&gt;In May, I started building it as the authentication backend for a larger job portal project. The initial goal was fairly straightforward: implement signup, login, token management, and the supporting infrastructure needed for user authentication.&lt;/p&gt;

&lt;p&gt;After building the core authentication service and setting up the initial infrastructure, I shifted my focus to other work and the project was left unfinished. While the foundation existed, many of the ideas I wanted to explore—distributed systems patterns, observability, scalability, and performance analysis—were still missing.&lt;/p&gt;

&lt;p&gt;A few weeks later, I came across the GitHub Finish-Up-A-Thon Challenge and decided to revisit the project instead of letting it remain another abandoned repository.&lt;/p&gt;

&lt;p&gt;Rather than simply cleaning up old code, I used the opportunity to significantly expand the project and turn it into a distributed systems playground.&lt;/p&gt;

&lt;p&gt;During the revival, I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added Redis-based refresh token management&lt;/li&gt;
&lt;li&gt;Implemented a CDC pipeline using PostgreSQL, Debezium, and Kafka&lt;/li&gt;
&lt;li&gt;Added a dedicated profile service backed by MongoDB&lt;/li&gt;
&lt;li&gt;Introduced Prometheus metrics and Grafana dashboards&lt;/li&gt;
&lt;li&gt;Added k6 load-testing infrastructure&lt;/li&gt;
&lt;li&gt;Scaled the authentication service horizontally behind Nginx&lt;/li&gt;
&lt;li&gt;Conducted multiple performance experiments and documented the results&lt;/li&gt;
&lt;li&gt;Created architecture diagrams and expanded the project documentation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of the most valuable outcomes of revisiting the project was discovering bottlenecks that only became visible under load. While scaling the authentication service improved CPU utilization, load testing revealed that MongoDB and the CDC pipeline became the primary bottlenecks. Investigating these trade-offs taught me far more than simply building the original authentication service.&lt;/p&gt;

&lt;p&gt;By the end of the challenge, the project had evolved from an unfinished backend component into a fully documented distributed authentication system that I can continue using to explore distributed systems concepts, scalability patterns, and performance engineering.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Experience with GitHub Copilot
&lt;/h2&gt;

&lt;p&gt;GitHub Copilot acted as an implementation and exploration partner throughout the revival of this project.&lt;/p&gt;

&lt;p&gt;For many components, I first designed the architecture and wrote the interfaces, function signatures, and high-level implementation plan. I then used Copilot to generate boilerplate code, suggest implementations, and accelerate repetitive development tasks.&lt;/p&gt;

&lt;p&gt;Copilot was particularly useful for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generating service scaffolding and repetitive CRUD logic&lt;/li&gt;
&lt;li&gt;Assisting with Docker Compose configuration&lt;/li&gt;
&lt;li&gt;Helping configure Prometheus metrics collection&lt;/li&gt;
&lt;li&gt;Suggesting Kafka consumer and producer implementations&lt;/li&gt;
&lt;li&gt;Writing integration and infrastructure tests&lt;/li&gt;
&lt;li&gt;Explaining configuration options for Debezium and Kafka Connect&lt;/li&gt;
&lt;li&gt;Speeding up refactoring and cleanup work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One workflow I found especially effective was defining the architecture and API contracts myself, leaving implementation placeholders, and then using Copilot to generate an initial implementation. This allowed me to focus more on system design decisions and less on repetitive coding.&lt;/p&gt;

&lt;p&gt;I also used Copilot while setting up and validating the distributed architecture. It helped me troubleshoot configuration issues, understand service interactions, and quickly iterate on infrastructure changes during development.&lt;/p&gt;

&lt;p&gt;The biggest benefit wasn't code generation itself—it was the ability to move from an idea to an experiment much faster. Since this project is intended as a distributed systems learning playground, that rapid feedback loop allowed me to spend more time investigating architectural trade-offs, performance bottlenecks, and scalability challenges.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feedback Welcome
&lt;/h2&gt;

&lt;p&gt;This project started as a learning exercise and has evolved into my personal distributed systems playground.&lt;/p&gt;

&lt;p&gt;If you're an experienced backend or distributed systems engineer and happen to read this submission, I'd genuinely appreciate any feedback on the architecture, design decisions, bottlenecks, or trade-offs discussed throughout the project.&lt;/p&gt;

&lt;p&gt;Some areas I'm currently thinking about include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improving the CDC pipeline under higher load&lt;/li&gt;
&lt;li&gt;Reducing replication lag and read amplification&lt;/li&gt;
&lt;li&gt;Better approaches to profile materialization&lt;/li&gt;
&lt;li&gt;Scaling strategies beyond the current setup&lt;/li&gt;
&lt;li&gt;Observability improvements and production-readiness considerations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Constructive criticism, alternative approaches, and architecture suggestions are all welcome. One of the main goals of this project is to learn from engineers who have solved these problems in real systems.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ftryfxkkmystybk64m8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4ftryfxkkmystybk64m8.png" alt="Cover Image" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>distributedsystems</category>
      <category>backend</category>
    </item>
  </channel>
</rss>
