<?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: Bharath Kumar_30</title>
    <description>The latest articles on DEV Community by Bharath Kumar_30 (@bharath_kumar_30_vog).</description>
    <link>https://dev.to/bharath_kumar_30_vog</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3761699%2F14147a64-3cbb-46c5-a9b1-205461d1ae70.jpg</url>
      <title>DEV Community: Bharath Kumar_30</title>
      <link>https://dev.to/bharath_kumar_30_vog</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bharath_kumar_30_vog"/>
    <language>en</language>
    <item>
      <title>Designing a Multi-Agent AI Architecture for SiteGen AI</title>
      <dc:creator>Bharath Kumar_30</dc:creator>
      <pubDate>Wed, 08 Jul 2026 11:09:10 +0000</pubDate>
      <link>https://dev.to/bharath_kumar_30_vog/designing-a-multi-agent-ai-architecture-for-sitegen-ai-2n4</link>
      <guid>https://dev.to/bharath_kumar_30_vog/designing-a-multi-agent-ai-architecture-for-sitegen-ai-2n4</guid>
      <description>&lt;h1&gt;
  
  
  Designing a Multi-Agent AI Architecture for SiteGen AI
&lt;/h1&gt;

&lt;p&gt;As SiteGen AI continued to evolve, I realized that asking a single AI model to generate an entire application wasn't the right approach.&lt;/p&gt;

&lt;p&gt;The results were inconsistent.&lt;/p&gt;

&lt;p&gt;Sometimes the frontend looked great.&lt;/p&gt;

&lt;p&gt;Sometimes the backend was incomplete.&lt;/p&gt;

&lt;p&gt;Sometimes the generated code didn't work together.&lt;/p&gt;

&lt;p&gt;Instead of writing bigger prompts, I decided to redesign the entire architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;The original workflow was straightforward.&lt;/p&gt;

&lt;p&gt;A user entered a prompt.&lt;/p&gt;

&lt;p&gt;The AI generated HTML, CSS, and JavaScript.&lt;/p&gt;

&lt;p&gt;That worked well for simple landing pages, but it became difficult when users requested larger applications.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Build a Hospital Management System.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A complete software project requires much more than a homepage.&lt;/p&gt;

&lt;p&gt;It needs APIs, authentication, databases, dashboards, documentation, and deployment configuration.&lt;/p&gt;

&lt;p&gt;Generating all of that in a single AI response wasn't reliable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thinking Beyond One AI Prompt
&lt;/h2&gt;

&lt;p&gt;Rather than making one prompt increasingly complex, I started dividing the work into smaller responsibilities.&lt;/p&gt;

&lt;p&gt;Instead of one AI doing everything, different modules would focus on different parts of the application.&lt;/p&gt;

&lt;p&gt;This approach is inspired by how software teams work.&lt;/p&gt;

&lt;p&gt;Frontend developers focus on the user interface.&lt;/p&gt;

&lt;p&gt;Backend developers build APIs.&lt;/p&gt;

&lt;p&gt;Database engineers design schemas.&lt;/p&gt;

&lt;p&gt;Quality assurance engineers verify the final product.&lt;/p&gt;

&lt;p&gt;I wanted SiteGen AI to follow a similar workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  The New Workflow
&lt;/h2&gt;

&lt;p&gt;The new architecture begins with understanding the user's request.&lt;/p&gt;

&lt;p&gt;The first module analyzes the project and determines what needs to be built.&lt;/p&gt;

&lt;p&gt;Once the project requirements are understood, the remaining modules begin generating different parts of the application.&lt;/p&gt;

&lt;p&gt;The workflow looks like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Project Planner&lt;/li&gt;
&lt;li&gt;Frontend Generator&lt;/li&gt;
&lt;li&gt;Backend Generator&lt;/li&gt;
&lt;li&gt;Database Generator&lt;/li&gt;
&lt;li&gt;Authentication Generator&lt;/li&gt;
&lt;li&gt;API Generator&lt;/li&gt;
&lt;li&gt;Documentation Generator&lt;/li&gt;
&lt;li&gt;Deployment Generator&lt;/li&gt;
&lt;li&gt;Project Reviewer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each module has a single responsibility.&lt;/p&gt;

&lt;p&gt;Instead of generating everything at once, each component focuses on solving one problem well.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Modular Design Matters
&lt;/h2&gt;

&lt;p&gt;One of the biggest advantages of this architecture is maintainability.&lt;/p&gt;

&lt;p&gt;If I want to improve backend generation, I only need to update the backend module.&lt;/p&gt;

&lt;p&gt;The frontend generation process remains unchanged.&lt;/p&gt;

&lt;p&gt;The same applies to authentication, databases, and deployment.&lt;/p&gt;

&lt;p&gt;This separation makes the project easier to test, easier to debug, and much easier to extend.&lt;/p&gt;

&lt;h2&gt;
  
  
  Better AI Prompts
&lt;/h2&gt;

&lt;p&gt;Another benefit is prompt specialization.&lt;/p&gt;

&lt;p&gt;Instead of writing one enormous prompt, every module receives a prompt specifically designed for its task.&lt;/p&gt;

&lt;p&gt;For example, the backend generator only thinks about APIs, business logic, and project structure.&lt;/p&gt;

&lt;p&gt;The frontend generator only focuses on user experience and interface design.&lt;/p&gt;

&lt;p&gt;This improves both consistency and code quality.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building for the Future
&lt;/h2&gt;

&lt;p&gt;My goal is not to create another AI code generator.&lt;/p&gt;

&lt;p&gt;I want SiteGen AI to become a platform capable of planning, designing, generating, and reviewing complete software projects.&lt;/p&gt;

&lt;p&gt;As the project grows, additional modules can be added without redesigning the entire system.&lt;/p&gt;

&lt;p&gt;This makes the architecture scalable for future features.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;p&gt;One lesson became very clear during this redesign.&lt;/p&gt;

&lt;p&gt;Complex software should not rely on one intelligent component trying to do everything.&lt;/p&gt;

&lt;p&gt;Breaking a large problem into smaller, specialized tasks produces better results and creates a system that is easier to improve over time.&lt;/p&gt;

&lt;p&gt;That principle now guides every new feature I build for SiteGen AI.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;The next step is teaching SiteGen AI how to generate complete production-ready projects, including frontend, backend, authentication, database design, documentation, and deployment configuration from a single user prompt.&lt;/p&gt;

&lt;p&gt;That will be the biggest milestone in the project's journey so far.&lt;/p&gt;

&lt;p&gt;Thank you for reading.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Building SiteGen AI v2: From a Website Generator to an AI Software Engineer</title>
      <dc:creator>Bharath Kumar_30</dc:creator>
      <pubDate>Wed, 08 Jul 2026 11:06:46 +0000</pubDate>
      <link>https://dev.to/bharath_kumar_30_vog/building-sitegen-ai-v2-from-a-website-generator-to-an-ai-software-engineer-3oia</link>
      <guid>https://dev.to/bharath_kumar_30_vog/building-sitegen-ai-v2-from-a-website-generator-to-an-ai-software-engineer-3oia</guid>
      <description>&lt;h1&gt;
  
  
  Building SiteGen AI v2: From a Website Generator to an AI Software Engineer
&lt;/h1&gt;

&lt;p&gt;After migrating SiteGen AI to a more flexible AI architecture, I spent some time thinking about the future of the project.&lt;/p&gt;

&lt;p&gt;The question I kept asking myself was simple.&lt;/p&gt;

&lt;p&gt;"Do I really want to build another AI website generator?"&lt;/p&gt;

&lt;p&gt;The answer was no.&lt;/p&gt;

&lt;p&gt;There are already many tools capable of generating beautiful landing pages and portfolio websites.&lt;/p&gt;

&lt;p&gt;If SiteGen AI was going to continue evolving, it needed a bigger purpose.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Different Vision
&lt;/h2&gt;

&lt;p&gt;Instead of generating only websites, I wanted SiteGen AI to generate complete software projects.&lt;/p&gt;

&lt;p&gt;When developers start a new project, they don't just create an HTML file.&lt;/p&gt;

&lt;p&gt;They create an entire application.&lt;/p&gt;

&lt;p&gt;That application usually contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend&lt;/li&gt;
&lt;li&gt;Backend&lt;/li&gt;
&lt;li&gt;Database&lt;/li&gt;
&lt;li&gt;Authentication&lt;/li&gt;
&lt;li&gt;REST APIs&lt;/li&gt;
&lt;li&gt;Configuration files&lt;/li&gt;
&lt;li&gt;Documentation&lt;/li&gt;
&lt;li&gt;Deployment setup&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Generating only the frontend solves a small part of the development process.&lt;/p&gt;

&lt;p&gt;I wanted SiteGen AI to solve much more than that.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thinking Like a Software Architect
&lt;/h2&gt;

&lt;p&gt;I realized that code generation shouldn't be the first step.&lt;/p&gt;

&lt;p&gt;Planning should be.&lt;/p&gt;

&lt;p&gt;Before writing a single line of code, every software project begins with understanding the requirements.&lt;/p&gt;

&lt;p&gt;What type of application is this?&lt;/p&gt;

&lt;p&gt;Which technology stack should be used?&lt;/p&gt;

&lt;p&gt;What database is appropriate?&lt;/p&gt;

&lt;p&gt;How many user roles are required?&lt;/p&gt;

&lt;p&gt;Which APIs should exist?&lt;/p&gt;

&lt;p&gt;These questions are normally answered by software architects.&lt;/p&gt;

&lt;p&gt;I wanted SiteGen AI to answer them automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  The New Architecture
&lt;/h2&gt;

&lt;p&gt;Instead of sending one prompt to an AI model and expecting a complete application, I started designing a workflow where different parts of the project are generated independently.&lt;/p&gt;

&lt;p&gt;The process begins by analyzing the user's requirements.&lt;/p&gt;

&lt;p&gt;Once the project is understood, separate modules generate different parts of the application.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Project Planning&lt;/li&gt;
&lt;li&gt;Frontend Generation&lt;/li&gt;
&lt;li&gt;Backend Generation&lt;/li&gt;
&lt;li&gt;Database Design&lt;/li&gt;
&lt;li&gt;Authentication&lt;/li&gt;
&lt;li&gt;API Development&lt;/li&gt;
&lt;li&gt;Documentation&lt;/li&gt;
&lt;li&gt;Deployment Configuration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each module focuses on a single responsibility.&lt;/p&gt;

&lt;p&gt;This makes the generated projects more organized and easier to maintain.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;As projects become larger, a single AI response becomes difficult to manage.&lt;/p&gt;

&lt;p&gt;Breaking the work into smaller tasks improves consistency and allows each part of the application to be generated with more context.&lt;/p&gt;

&lt;p&gt;It also makes future improvements much easier.&lt;/p&gt;

&lt;p&gt;If I want to improve backend generation, I don't have to modify the frontend generation process.&lt;/p&gt;

&lt;p&gt;Each module can evolve independently.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Long-Term Goal
&lt;/h2&gt;

&lt;p&gt;My goal is no longer to generate simple webpages.&lt;/p&gt;

&lt;p&gt;I want SiteGen AI to become a development assistant capable of creating production-ready software projects from natural language.&lt;/p&gt;

&lt;p&gt;A user should be able to describe an idea, and the platform should generate a complete project structure that developers can continue building upon.&lt;/p&gt;

&lt;p&gt;This is an ambitious goal, but every new feature brings the project one step closer.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I've Learned
&lt;/h2&gt;

&lt;p&gt;One of the biggest lessons from this journey is that software architecture matters more than writing code quickly.&lt;/p&gt;

&lt;p&gt;Good architecture allows a project to grow.&lt;/p&gt;

&lt;p&gt;Poor architecture eventually limits what the project can become.&lt;/p&gt;

&lt;p&gt;Building SiteGen AI has taught me much more than AI integration.&lt;/p&gt;

&lt;p&gt;It has helped me understand project planning, modular design, scalability, and maintainability.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Ahead
&lt;/h2&gt;

&lt;p&gt;SiteGen AI is still evolving.&lt;/p&gt;

&lt;p&gt;There are many challenges ahead, and many features I want to build.&lt;/p&gt;

&lt;p&gt;In future articles, I'll share the progress of SiteGen AI v2, the technical decisions behind it, and the lessons I learn while building it in public.&lt;/p&gt;

&lt;p&gt;This project started as a simple experiment.&lt;/p&gt;

&lt;p&gt;Today, it has become one of the most valuable learning experiences of my software development journey.&lt;/p&gt;

&lt;p&gt;Thank you for reading.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>software</category>
      <category>programming</category>
    </item>
    <item>
      <title>Migrating from Gemini API to OpenRouter: Building a More Flexible AI Platform</title>
      <dc:creator>Bharath Kumar_30</dc:creator>
      <pubDate>Wed, 08 Jul 2026 11:04:56 +0000</pubDate>
      <link>https://dev.to/bharath_kumar_30_vog/migrating-from-gemini-api-to-openrouter-building-a-more-flexible-ai-platform-be3</link>
      <guid>https://dev.to/bharath_kumar_30_vog/migrating-from-gemini-api-to-openrouter-building-a-more-flexible-ai-platform-be3</guid>
      <description>&lt;h1&gt;
  
  
  Migrating from Gemini API to OpenRouter: Building a More Flexible AI Platform
&lt;/h1&gt;

&lt;p&gt;As SiteGen AI continued to grow, I started testing it with different types of prompts and larger projects.&lt;/p&gt;

&lt;p&gt;The application was working well, but one issue kept interrupting development.&lt;/p&gt;

&lt;p&gt;The AI service frequently returned quota-related errors, making it difficult to continue testing and improving the project.&lt;/p&gt;

&lt;p&gt;At first, I assumed there was something wrong with my implementation.&lt;/p&gt;

&lt;p&gt;After debugging the application, checking API requests, and verifying my credentials, I realized the issue wasn't in my code.&lt;/p&gt;

&lt;p&gt;The limitation was related to the AI service configuration and usage quotas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Decided to Migrate
&lt;/h2&gt;

&lt;p&gt;One lesson became very clear.&lt;/p&gt;

&lt;p&gt;An application should never depend entirely on a single AI provider.&lt;/p&gt;

&lt;p&gt;If the provider changes its pricing, limits requests, or introduces new restrictions, development slows down immediately.&lt;/p&gt;

&lt;p&gt;I wanted SiteGen AI to remain flexible regardless of which AI model it used.&lt;/p&gt;

&lt;p&gt;Instead of designing the project around one provider, I decided to redesign it around a common interface that could support multiple providers.&lt;/p&gt;

&lt;p&gt;That decision led me to OpenRouter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why OpenRouter
&lt;/h2&gt;

&lt;p&gt;OpenRouter provides access to multiple language models through a single API.&lt;/p&gt;

&lt;p&gt;Instead of rewriting my backend every time I wanted to test a different model, I could simply change the model name while keeping the rest of the application unchanged.&lt;/p&gt;

&lt;p&gt;This approach makes experimentation much easier.&lt;/p&gt;

&lt;p&gt;Instead of being tied to one provider, SiteGen AI can evolve alongside the AI ecosystem.&lt;/p&gt;

&lt;h2&gt;
  
  
  Refactoring the Backend
&lt;/h2&gt;

&lt;p&gt;The migration required more than replacing an API endpoint.&lt;/p&gt;

&lt;p&gt;I reorganized the backend to separate AI communication from the rest of the application.&lt;/p&gt;

&lt;p&gt;Instead of embedding AI logic directly inside the website generation workflow, I created a dedicated service responsible for handling AI requests.&lt;/p&gt;

&lt;p&gt;This separation makes the codebase easier to maintain and prepares the project for future integrations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of the Migration
&lt;/h2&gt;

&lt;p&gt;After completing the migration, several improvements became immediately noticeable.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easier model switching&lt;/li&gt;
&lt;li&gt;Cleaner backend architecture&lt;/li&gt;
&lt;li&gt;Better separation of responsibilities&lt;/li&gt;
&lt;li&gt;Improved maintainability&lt;/li&gt;
&lt;li&gt;Greater flexibility for future development&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most importantly, SiteGen AI is no longer tightly coupled to a single AI provider.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Beyond Website Generation
&lt;/h2&gt;

&lt;p&gt;While working on this migration, another idea started taking shape.&lt;/p&gt;

&lt;p&gt;I realized that changing the AI provider solved only one part of the problem.&lt;/p&gt;

&lt;p&gt;The bigger opportunity was changing what the application actually generates.&lt;/p&gt;

&lt;p&gt;Instead of producing only HTML, CSS, and JavaScript, I wanted SiteGen AI to understand complete software requirements and generate structured projects.&lt;/p&gt;

&lt;p&gt;That idea eventually became the foundation for SiteGen AI v2.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;p&gt;Building AI-powered applications isn't only about choosing the most capable language model.&lt;/p&gt;

&lt;p&gt;Architecture matters.&lt;/p&gt;

&lt;p&gt;Abstraction matters.&lt;/p&gt;

&lt;p&gt;Designing software that can adapt to new technologies is often more valuable than optimizing for a single provider.&lt;/p&gt;

&lt;p&gt;This migration reminded me that investing time in a flexible architecture always pays off in the long run.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;In the next article, I'll introduce the vision behind SiteGen AI v2 and explain why I decided to move beyond website generation toward building an AI-powered full-stack project generator.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>nocode</category>
      <category>programming</category>
    </item>
    <item>
      <title>Why HTML Generation Wasn't Enough: The Evolution of SiteGen AI</title>
      <dc:creator>Bharath Kumar_30</dc:creator>
      <pubDate>Wed, 08 Jul 2026 11:03:21 +0000</pubDate>
      <link>https://dev.to/bharath_kumar_30_vog/why-html-generation-wasnt-enough-the-evolution-of-sitegen-ai-2kgf</link>
      <guid>https://dev.to/bharath_kumar_30_vog/why-html-generation-wasnt-enough-the-evolution-of-sitegen-ai-2kgf</guid>
      <description>&lt;h1&gt;
  
  
  Why HTML Generation Wasn't Enough: The Evolution of SiteGen AI
&lt;/h1&gt;

&lt;p&gt;After building the first version of SiteGen AI, I was excited to see websites being generated from simple prompts.&lt;/p&gt;

&lt;p&gt;The application could generate HTML, CSS, and JavaScript based on user input. It was a great milestone because it proved that the core idea worked.&lt;/p&gt;

&lt;p&gt;However, after testing more prompts and creating different types of websites, I started noticing a pattern.&lt;/p&gt;

&lt;p&gt;The generated websites looked functional, but they weren't complete applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Limitation
&lt;/h2&gt;

&lt;p&gt;If a user asked for a portfolio website, SiteGen AI could generate a portfolio page.&lt;/p&gt;

&lt;p&gt;If someone requested a restaurant website, it could generate a landing page.&lt;/p&gt;

&lt;p&gt;But what happened when someone asked for something larger?&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Build a Hospital Management System.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The application still generated a single webpage.&lt;/p&gt;

&lt;p&gt;A real hospital management system requires much more than a homepage.&lt;/p&gt;

&lt;p&gt;It needs authentication, dashboards, APIs, databases, user roles, appointment management, and many other components.&lt;/p&gt;

&lt;p&gt;That's when I realized my application wasn't generating software.&lt;/p&gt;

&lt;p&gt;It was only generating webpages.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Difference Between a Website and a Software Project
&lt;/h2&gt;

&lt;p&gt;A modern software project usually consists of multiple parts.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend&lt;/li&gt;
&lt;li&gt;Backend&lt;/li&gt;
&lt;li&gt;Database&lt;/li&gt;
&lt;li&gt;Authentication&lt;/li&gt;
&lt;li&gt;REST APIs&lt;/li&gt;
&lt;li&gt;Deployment configuration&lt;/li&gt;
&lt;li&gt;Documentation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Generating only HTML, CSS, and JavaScript solves only one part of the problem.&lt;/p&gt;

&lt;p&gt;The remaining architecture still has to be built manually.&lt;/p&gt;

&lt;h2&gt;
  
  
  Rethinking the Architecture
&lt;/h2&gt;

&lt;p&gt;Instead of improving the HTML generator, I started thinking differently.&lt;/p&gt;

&lt;p&gt;The first question became:&lt;/p&gt;

&lt;p&gt;"What does the user actually want to build?"&lt;/p&gt;

&lt;p&gt;Instead of immediately generating code, the application should first understand the project requirements.&lt;/p&gt;

&lt;p&gt;For example, if a user asks for an e-commerce application, the system should identify that it requires:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Product management&lt;/li&gt;
&lt;li&gt;Shopping cart&lt;/li&gt;
&lt;li&gt;Authentication&lt;/li&gt;
&lt;li&gt;Payment integration&lt;/li&gt;
&lt;li&gt;Database&lt;/li&gt;
&lt;li&gt;Admin dashboard&lt;/li&gt;
&lt;li&gt;User dashboard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Only after understanding these requirements should the code generation begin.&lt;/p&gt;

&lt;p&gt;This approach completely changes how the application works.&lt;/p&gt;

&lt;h2&gt;
  
  
  A New Direction
&lt;/h2&gt;

&lt;p&gt;This realization marked the beginning of SiteGen AI v2.&lt;/p&gt;

&lt;p&gt;The goal is no longer to generate individual webpages.&lt;/p&gt;

&lt;p&gt;The goal is to generate complete software projects.&lt;/p&gt;

&lt;p&gt;Instead of returning three files—&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;index.html&lt;/li&gt;
&lt;li&gt;style.css&lt;/li&gt;
&lt;li&gt;script.js&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;—I want SiteGen AI to generate an organized project structure with frontend, backend, database, documentation, and deployment configuration.&lt;/p&gt;

&lt;p&gt;This is a much larger challenge, but it also makes the project far more useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;p&gt;One of the biggest lessons from building the first version is that writing code is only one part of software development.&lt;/p&gt;

&lt;p&gt;Understanding requirements, planning architecture, and generating maintainable project structures are equally important.&lt;/p&gt;

&lt;p&gt;The quality of an AI-generated application depends on the quality of its planning before any code is written.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;In the next article, I'll explain why I migrated from the Gemini API to OpenRouter, what challenges I faced with API quotas, and how abstracting the AI provider made the project more flexible for future development.&lt;/p&gt;

&lt;p&gt;Thank you for reading.&lt;/p&gt;

</description>
      <category>html</category>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Building the First Version of SiteGen AI – Turning an Idea into Reality</title>
      <dc:creator>Bharath Kumar_30</dc:creator>
      <pubDate>Wed, 08 Jul 2026 11:00:55 +0000</pubDate>
      <link>https://dev.to/bharath_kumar_30_vog/building-the-first-version-of-sitegen-ai-turning-an-idea-into-reality-2o21</link>
      <guid>https://dev.to/bharath_kumar_30_vog/building-the-first-version-of-sitegen-ai-turning-an-idea-into-reality-2o21</guid>
      <description>&lt;h1&gt;
  
  
  Building the First Version of SiteGen AI – Turning an Idea into Reality
&lt;/h1&gt;

&lt;p&gt;In my previous article, I shared how the idea for &lt;strong&gt;SiteGen AI&lt;/strong&gt; was born.&lt;/p&gt;

&lt;p&gt;In this article, I want to talk about how I built the &lt;strong&gt;first working version&lt;/strong&gt; of the project.&lt;/p&gt;

&lt;p&gt;Spoiler alert...&lt;/p&gt;

&lt;p&gt;It wasn't perfect.&lt;/p&gt;

&lt;p&gt;But it worked.&lt;/p&gt;

&lt;p&gt;And that's where every great project starts.&lt;/p&gt;




&lt;h1&gt;
  
  
  The Goal
&lt;/h1&gt;

&lt;p&gt;The first version had only one objective.&lt;/p&gt;

&lt;p&gt;A user types something like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Build a modern portfolio website for an MCA student.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The application should automatically generate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and display the result instantly.&lt;/p&gt;

&lt;p&gt;Sounds simple.&lt;/p&gt;

&lt;p&gt;It wasn't.&lt;/p&gt;




&lt;h1&gt;
  
  
  Choosing the Tech Stack
&lt;/h1&gt;

&lt;p&gt;Since I'm comfortable with Python, I decided to use &lt;strong&gt;FastAPI&lt;/strong&gt; for the backend.&lt;/p&gt;

&lt;p&gt;My initial stack looked like this.&lt;/p&gt;

&lt;h2&gt;
  
  
  Backend
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;FastAPI&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Frontend
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  AI
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Google Gemini API (initially)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Database
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;SQLite&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I intentionally kept the first version simple.&lt;/p&gt;

&lt;p&gt;The goal wasn't to build the perfect architecture.&lt;/p&gt;

&lt;p&gt;The goal was to make something work.&lt;/p&gt;




&lt;h1&gt;
  
  
  How It Worked
&lt;/h1&gt;

&lt;p&gt;The first workflow looked like this.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User Prompt

↓

FastAPI Backend

↓

Gemini API

↓

Generated HTML

↓

Browser Preview
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The user entered a prompt.&lt;/p&gt;

&lt;p&gt;The backend sent it to the AI.&lt;/p&gt;

&lt;p&gt;The AI generated the website.&lt;/p&gt;

&lt;p&gt;The browser rendered it immediately.&lt;/p&gt;

&lt;p&gt;When I saw my application generate its first webpage, it felt amazing.&lt;/p&gt;




&lt;h1&gt;
  
  
  The First Success
&lt;/h1&gt;

&lt;p&gt;One of the first prompts I tested was:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Build a portfolio website for a software developer.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Within seconds, the application generated:&lt;/p&gt;

&lt;p&gt;HTML&lt;/p&gt;

&lt;p&gt;CSS&lt;/p&gt;

&lt;p&gt;JavaScript&lt;/p&gt;

&lt;p&gt;It wasn't beautiful.&lt;/p&gt;

&lt;p&gt;It wasn't production ready.&lt;/p&gt;

&lt;p&gt;But it proved that the idea worked.&lt;/p&gt;




&lt;h1&gt;
  
  
  The Problems Started
&lt;/h1&gt;

&lt;p&gt;As I continued testing, I noticed several issues.&lt;/p&gt;

&lt;p&gt;Sometimes the generated websites looked almost identical.&lt;/p&gt;

&lt;p&gt;Sometimes the AI ignored parts of the prompt.&lt;/p&gt;

&lt;p&gt;Sometimes the design was too generic.&lt;/p&gt;

&lt;p&gt;The more prompts I tested...&lt;/p&gt;

&lt;p&gt;the more problems I discovered.&lt;/p&gt;

&lt;p&gt;At first I thought the AI was the problem.&lt;/p&gt;

&lt;p&gt;Later I realized the real problem was my architecture.&lt;/p&gt;




&lt;h1&gt;
  
  
  What I Learned
&lt;/h1&gt;

&lt;p&gt;One of my biggest lessons was this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good AI output depends on good prompts and good system design.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Simply sending:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Build a business website&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;isn't enough.&lt;/p&gt;

&lt;p&gt;The AI needs context.&lt;/p&gt;

&lt;p&gt;It needs structure.&lt;/p&gt;

&lt;p&gt;It needs clear instructions.&lt;/p&gt;

&lt;p&gt;That realization completely changed how I thought about AI development.&lt;/p&gt;




&lt;h1&gt;
  
  
  Looking Ahead
&lt;/h1&gt;

&lt;p&gt;The first version of SiteGen AI was only the beginning.&lt;/p&gt;

&lt;p&gt;It could generate simple websites.&lt;/p&gt;

&lt;p&gt;But my vision became much bigger.&lt;/p&gt;

&lt;p&gt;I didn't want to build another HTML generator.&lt;/p&gt;

&lt;p&gt;I wanted to build an &lt;strong&gt;AI Software Engineer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A system capable of generating complete applications, not just webpages.&lt;/p&gt;

&lt;p&gt;That vision became &lt;strong&gt;SiteGen AI v2&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I'll talk more about that in the next article.&lt;/p&gt;




&lt;h1&gt;
  
  
  Final Thoughts
&lt;/h1&gt;

&lt;p&gt;Looking back, the first version wasn't impressive from a technical standpoint.&lt;/p&gt;

&lt;p&gt;But it taught me one of the most important lessons in software engineering:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start simple. Learn. Improve. Repeat.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every feature I add today is built on top of that first working prototype.&lt;/p&gt;

&lt;p&gt;If you're building your own AI project, don't wait until it's perfect.&lt;/p&gt;

&lt;p&gt;Build the first version.&lt;/p&gt;

&lt;p&gt;You'll learn far more from a working prototype than from endless planning.&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

&lt;p&gt;If you're also building AI applications, I'd love to hear about your journey in the comments.&lt;/p&gt;

&lt;p&gt;Happy Coding! &lt;/p&gt;

</description>
      <category>ai</category>
      <category>fastapi</category>
      <category>python</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How I Started Building SiteGen AI-website builder</title>
      <dc:creator>Bharath Kumar_30</dc:creator>
      <pubDate>Wed, 08 Jul 2026 10:58:23 +0000</pubDate>
      <link>https://dev.to/bharath_kumar_30_vog/how-i-started-building-sitegen-ai-website-builder-163</link>
      <guid>https://dev.to/bharath_kumar_30_vog/how-i-started-building-sitegen-ai-website-builder-163</guid>
      <description>&lt;h1&gt;
  
  
  How I Started Building SiteGen AI — My Dream AI Website Builder
&lt;/h1&gt;

&lt;p&gt;Tags:&lt;/p&gt;

&lt;h1&gt;
  
  
  ai #python #fastapi #opensource #webdev
&lt;/h1&gt;




&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Hi everyone!&lt;/p&gt;

&lt;p&gt;I'm Bharath Kumar, an MCA student and Python developer from India.&lt;/p&gt;

&lt;p&gt;Over the past few months, I've been learning AI, FastAPI, automation, and modern web development.&lt;/p&gt;

&lt;p&gt;One question kept coming to my mind.&lt;/p&gt;

&lt;p&gt;"What if anyone could build a website just by describing it?"&lt;/p&gt;

&lt;p&gt;That simple question became my biggest side project.&lt;/p&gt;

&lt;p&gt;I named it &lt;strong&gt;SiteGen AI&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Idea
&lt;/h2&gt;

&lt;p&gt;There are many AI website builders available today.&lt;/p&gt;

&lt;p&gt;But I wanted to understand how they actually work.&lt;/p&gt;

&lt;p&gt;Instead of using them, I decided to build my own.&lt;/p&gt;

&lt;p&gt;The first goal was very simple.&lt;/p&gt;

&lt;p&gt;A user types:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Build a portfolio website for a software developer.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And my application generates the website automatically.&lt;/p&gt;




&lt;h2&gt;
  
  
  Version 1
&lt;/h2&gt;

&lt;p&gt;The first version was very basic.&lt;/p&gt;

&lt;p&gt;It generated:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;using AI.&lt;/p&gt;

&lt;p&gt;Seeing my own application generate an entire webpage from a prompt was an amazing feeling.&lt;/p&gt;

&lt;p&gt;It wasn't perfect.&lt;/p&gt;

&lt;p&gt;But it worked.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Challenges
&lt;/h2&gt;

&lt;p&gt;As I continued developing, I started facing many problems.&lt;/p&gt;

&lt;p&gt;Some generated websites looked generic.&lt;/p&gt;

&lt;p&gt;Sometimes the AI ignored the prompt.&lt;/p&gt;

&lt;p&gt;Sometimes API limits stopped development.&lt;/p&gt;

&lt;p&gt;Instead of giving up, I treated every problem as an opportunity to improve the project.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Goal
&lt;/h2&gt;

&lt;p&gt;SiteGen AI is not just another website generator.&lt;/p&gt;

&lt;p&gt;My long-term vision is much bigger.&lt;/p&gt;

&lt;p&gt;I want to build an AI software engineer that can generate complete production-ready applications.&lt;/p&gt;

&lt;p&gt;Instead of only generating HTML, I want it to create:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend&lt;/li&gt;
&lt;li&gt;Backend&lt;/li&gt;
&lt;li&gt;Database&lt;/li&gt;
&lt;li&gt;Authentication&lt;/li&gt;
&lt;li&gt;APIs&lt;/li&gt;
&lt;li&gt;Documentation&lt;/li&gt;
&lt;li&gt;Deployment files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All from a single prompt.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I'm Writing This Series
&lt;/h2&gt;

&lt;p&gt;I want to document my entire journey.&lt;/p&gt;

&lt;p&gt;Not only the successful days.&lt;/p&gt;

&lt;p&gt;But also the bugs, mistakes, failures, redesigns, and lessons learned.&lt;/p&gt;

&lt;p&gt;Hopefully this series helps someone else who wants to build AI applications.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;In the next blog, I'll explain the architecture behind SiteGen AI and how I built the first AI-powered website generator.&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

&lt;p&gt;If you're building something interesting, I'd love to hear about it.&lt;/p&gt;

&lt;p&gt;Happy Coding! &lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Setting Up Docker on My Hosting Server (selfmade.lab)</title>
      <dc:creator>Bharath Kumar_30</dc:creator>
      <pubDate>Fri, 24 Apr 2026 08:09:00 +0000</pubDate>
      <link>https://dev.to/bharath_kumar_30_vog/setting-up-docker-on-my-hosting-server-selfmadelab-3pa8</link>
      <guid>https://dev.to/bharath_kumar_30_vog/setting-up-docker-on-my-hosting-server-selfmadelab-3pa8</guid>
      <description>&lt;p&gt;Today I started setting up Docker on my hosting server as part of my project. My goal is to run PostgreSQL and backend services in containers and manage everything cleanly.&lt;/p&gt;

&lt;p&gt;This post is a simple log of what I did today — step by step &lt;/p&gt;




&lt;h2&gt;
  
  
  Goal for Today
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Set up Docker on my hosting server&lt;/li&gt;
&lt;li&gt;Prepare environment for database and backend&lt;/li&gt;
&lt;li&gt;Begin container-based development&lt;/li&gt;
&lt;li&gt;Lab name: &lt;strong&gt;selfmade.lab&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 1: Connected to My Server
&lt;/h2&gt;

&lt;p&gt;First, I connected to my hosting server using SSH:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh root@your_server_ip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After login, I confirmed I’m inside the server.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 2: Installed Docker
&lt;/h2&gt;

&lt;p&gt;Then I installed Docker using basic commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apt update
apt &lt;span class="nb"&gt;install &lt;/span&gt;docker.io &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After installation, I started Docker:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;systemctl start docker
systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;docker
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To check if Docker is working:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 3: Tested Docker
&lt;/h2&gt;

&lt;p&gt;I ran a simple test container:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run hello-world
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This confirmed Docker is installed and running correctly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 4: Started PostgreSQL Container
&lt;/h2&gt;

&lt;p&gt;Next, I started my database container:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;--name&lt;/span&gt; selfmade-postgres &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nv"&gt;POSTGRES_PASSWORD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1234 &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;-p&lt;/span&gt; 5432:5432 &lt;span class="se"&gt;\&lt;/span&gt;
postgres
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now PostgreSQL is running inside Docker.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 5: Opened Database Port
&lt;/h2&gt;

&lt;p&gt;To allow external connection:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ufw allow 5432
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 6: Connected Using pgAdmin
&lt;/h2&gt;

&lt;p&gt;From my local system, I connected using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Host: &lt;code&gt;your_server_ip&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Port: &lt;code&gt;5432&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Username: &lt;code&gt;postgres&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Password: &lt;code&gt;1234&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Connection was successful &lt;/p&gt;




&lt;h2&gt;
  
  
  Step 7: Planning Next Steps
&lt;/h2&gt;

&lt;p&gt;Today I only completed the base setup. Next, I plan to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;docker-compose&lt;/strong&gt; for better management&lt;/li&gt;
&lt;li&gt;Add FastAPI backend&lt;/li&gt;
&lt;li&gt;Secure database using &lt;code&gt;.env&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Setup domain for &lt;strong&gt;selfmade.lab&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Add Nginx for reverse proxy&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Challenges I Faced
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Initial confusion with Docker setup&lt;/li&gt;
&lt;li&gt;Understanding server vs local environment&lt;/li&gt;
&lt;li&gt;Port access configuration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But step by step, everything started working.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Learned Today
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Docker can be installed easily on a server&lt;/li&gt;
&lt;li&gt;Containers simplify backend setup&lt;/li&gt;
&lt;li&gt;PostgreSQL runs smoothly inside Docker&lt;/li&gt;
&lt;li&gt;Remote connection using pgAdmin is very useful&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Today was a strong start for my project infrastructure. Setting up Docker on my hosting server gave me more confidence to move forward with deployment.&lt;/p&gt;

&lt;p&gt;More updates coming soon as I build &lt;strong&gt;selfmade.lab&lt;/strong&gt; &lt;/p&gt;




</description>
      <category>ai</category>
      <category>containers</category>
      <category>programming</category>
      <category>database</category>
    </item>
    <item>
      <title>From Docker Failure to PostgreSQL Success: My Real Backend Learning Experience</title>
      <dc:creator>Bharath Kumar_30</dc:creator>
      <pubDate>Wed, 01 Apr 2026 15:58:35 +0000</pubDate>
      <link>https://dev.to/bharath_kumar_30_vog/from-docker-failure-to-postgresql-success-my-real-backend-learning-experience-cn7</link>
      <guid>https://dev.to/bharath_kumar_30_vog/from-docker-failure-to-postgresql-success-my-real-backend-learning-experience-cn7</guid>
      <description>&lt;p&gt;Hey everyone,&lt;/p&gt;

&lt;p&gt;This is a continuation of my journey.&lt;/p&gt;

&lt;p&gt;After struggling with PostgreSQL integration, I decided to try something new:&lt;/p&gt;

&lt;p&gt;Docker&lt;/p&gt;

&lt;p&gt;I thought it would make things easier.&lt;/p&gt;

&lt;p&gt;But again… reality had other plans &lt;/p&gt;




&lt;h2&gt;
  
  
  Trying Docker
&lt;/h2&gt;

&lt;p&gt;I installed Docker Desktop and started setup.&lt;/p&gt;

&lt;p&gt;At first, everything looked fine.&lt;/p&gt;

&lt;p&gt;But then…&lt;/p&gt;




&lt;h2&gt;
  
  
  Issues Started
&lt;/h2&gt;

&lt;p&gt;I faced multiple problems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Disk space errors&lt;/li&gt;
&lt;li&gt;WSL not working&lt;/li&gt;
&lt;li&gt;Installation failures&lt;/li&gt;
&lt;li&gt;“Catastrophic failure” errors&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It was frustrating.&lt;/p&gt;

&lt;p&gt;I spent time fixing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Environment variables&lt;/li&gt;
&lt;li&gt;WSL updates&lt;/li&gt;
&lt;li&gt;System settings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Still, it didn’t work smoothly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Reality Check
&lt;/h2&gt;

&lt;p&gt;At that moment, I realized:&lt;/p&gt;

&lt;p&gt;I’m still learning&lt;br&gt;
 I need a simpler path&lt;/p&gt;

&lt;p&gt;So I made a decision.&lt;/p&gt;




&lt;h2&gt;
  
  
  Switching Back to Local Setup
&lt;/h2&gt;

&lt;p&gt;Instead of forcing Docker, I went back to:&lt;/p&gt;

&lt;p&gt;Local PostgreSQL setup&lt;/p&gt;

&lt;p&gt;This time, I focused step by step:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Installed PostgreSQL properly&lt;/li&gt;
&lt;li&gt;Opened pgAdmin&lt;/li&gt;
&lt;li&gt;Created database&lt;/li&gt;
&lt;li&gt;Ran my schema&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Finally… Success!
&lt;/h2&gt;

&lt;p&gt;Then came the best moment:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tables created successfully&lt;/li&gt;
&lt;li&gt;Database working&lt;/li&gt;
&lt;li&gt;Connection from Python working&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything finally clicked &lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;Tools are important, but timing matters&lt;/li&gt;
&lt;li&gt;Docker is powerful, but not always beginner-friendly&lt;/li&gt;
&lt;li&gt;Simplicity wins when learning&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  My Growth
&lt;/h2&gt;

&lt;p&gt;Today I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understood PostgreSQL deeply&lt;/li&gt;
&lt;li&gt;Integrated it into my project&lt;/li&gt;
&lt;li&gt;Learned from real errors&lt;/li&gt;
&lt;li&gt;Built confidence&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;It’s okay to fail.&lt;br&gt;
It’s okay to change direction.&lt;br&gt;
What matters is moving forward.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Today, I didn’t just build a feature.&lt;br&gt;
I built experience.&lt;/p&gt;

&lt;p&gt;And that’s what truly matters &lt;/p&gt;

</description>
      <category>postgressql</category>
      <category>docker</category>
      <category>sql</category>
      <category>learning</category>
    </item>
    <item>
      <title>From SQLite to PostgreSQL: My First Integration Attempt (Failures, Learning &amp; Direction Change)</title>
      <dc:creator>Bharath Kumar_30</dc:creator>
      <pubDate>Wed, 01 Apr 2026 15:55:39 +0000</pubDate>
      <link>https://dev.to/bharath_kumar_30_vog/-from-sqlite-to-postgresql-my-first-integration-attempt-failures-learning-direction-change-3bn4</link>
      <guid>https://dev.to/bharath_kumar_30_vog/-from-sqlite-to-postgresql-my-first-integration-attempt-failures-learning-direction-change-3bn4</guid>
      <description>&lt;p&gt;Hey everyone,&lt;/p&gt;

&lt;p&gt;Today was one of those days where I didn’t just code… I &lt;strong&gt;struggled, failed, learned, and improved&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I started with a clear goal:&lt;/p&gt;

&lt;p&gt;Replace SQLite with PostgreSQL&lt;br&gt;
 Store all my project data in a real database&lt;/p&gt;

&lt;p&gt;Sounds simple right? &lt;br&gt;
But the journey had some twists.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Initial Plan
&lt;/h2&gt;

&lt;p&gt;My project was using SQLite. It was easy, but not scalable.&lt;/p&gt;

&lt;p&gt;So I decided:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Remove SQLite completely&lt;/li&gt;
&lt;li&gt;Integrate PostgreSQL&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;.env&lt;/code&gt; for security&lt;/li&gt;
&lt;li&gt;Store everything in database&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 1: Database Setup
&lt;/h2&gt;

&lt;p&gt;I installed PostgreSQL and opened pgAdmin.&lt;/p&gt;

&lt;p&gt;Then I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Created a database → &lt;code&gt;social_media_db&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Designed tables using DDL&lt;/li&gt;
&lt;li&gt;Ran SQL successfully&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That moment felt good — my database was ready.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 2: Integration Attempt
&lt;/h2&gt;

&lt;p&gt;Next, I started integrating it into my code.&lt;/p&gt;

&lt;p&gt;I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Removed &lt;code&gt;sqlite3&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;psycopg2&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Created a &lt;code&gt;db.py&lt;/code&gt; connection file&lt;/li&gt;
&lt;li&gt;Updated queries (&lt;code&gt;?&lt;/code&gt; → &lt;code&gt;%s&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Problems I Faced
&lt;/h2&gt;

&lt;p&gt;This is where things got real.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Connection errors&lt;/li&gt;
&lt;li&gt;Query syntax mistakes&lt;/li&gt;
&lt;li&gt;Forgot &lt;code&gt;commit()&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Small bugs everywhere&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At first, I thought:&lt;/p&gt;

&lt;p&gt;“Why is this so hard?”&lt;/p&gt;

&lt;p&gt;But slowly I understood…&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;SQLite and PostgreSQL are NOT the same&lt;/li&gt;
&lt;li&gt;Small syntax changes matter&lt;/li&gt;
&lt;li&gt;Database connection must be handled properly&lt;/li&gt;
&lt;li&gt;Errors are part of learning&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Change in Thinking
&lt;/h2&gt;

&lt;p&gt;At one point, I felt:&lt;/p&gt;

&lt;p&gt;“Maybe I should try a better setup…”&lt;/p&gt;

&lt;p&gt;That’s when I started thinking about &lt;strong&gt;Docker&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It gives clean environment&lt;/li&gt;
&lt;li&gt;Easy to manage services&lt;/li&gt;
&lt;li&gt;Industry-level approach&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  My Realization
&lt;/h2&gt;

&lt;p&gt;Today I understood something important:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Learning backend is not just coding…&lt;br&gt;
It’s about understanding systems.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  My Takeaway
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I successfully designed and created my PostgreSQL database&lt;/li&gt;
&lt;li&gt;I started integrating it into my project&lt;/li&gt;
&lt;li&gt;I faced real-world problems&lt;/li&gt;
&lt;li&gt;And I didn’t give up&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;Today was not perfect.&lt;br&gt;
But it was real.&lt;/p&gt;

&lt;p&gt;Failures taught me more than success.&lt;/p&gt;

&lt;p&gt;And tomorrow… I come back stronger &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>database</category>
      <category>learning</category>
      <category>postgres</category>
    </item>
    <item>
      <title># Setting Up PostgreSQL Locally and Connecting It to My Project (Beginner Journey)</title>
      <dc:creator>Bharath Kumar_30</dc:creator>
      <pubDate>Wed, 25 Mar 2026 17:44:50 +0000</pubDate>
      <link>https://dev.to/bharath_kumar_30_vog/-setting-up-postgresql-locally-and-connecting-it-to-my-project-beginner-journey-gmh</link>
      <guid>https://dev.to/bharath_kumar_30_vog/-setting-up-postgresql-locally-and-connecting-it-to-my-project-beginner-journey-gmh</guid>
      <description>&lt;p&gt;Hey everyone,&lt;/p&gt;

&lt;p&gt;Today I worked on something very important in backend development — setting up a database and connecting it to my project.&lt;/p&gt;

&lt;p&gt;Until now, I was mainly focused on coding features. But today I understood that without a proper database setup, a project is not complete.&lt;/p&gt;

&lt;p&gt;So I decided to set up PostgreSQL locally and integrate it step by step.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I focused on today
&lt;/h2&gt;

&lt;p&gt;My main goal was to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set up PostgreSQL locally&lt;/li&gt;
&lt;li&gt;Create a database&lt;/li&gt;
&lt;li&gt;Configure environment variables&lt;/li&gt;
&lt;li&gt;Connect database using Python&lt;/li&gt;
&lt;li&gt;Execute my database schema&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 1: Creating the database
&lt;/h2&gt;

&lt;p&gt;After installing PostgreSQL, I created a database for my project:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;```sql id="y2y3g1"&lt;br&gt;
CREATE DATABASE social_media_db;&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;


This is where all my project data will be stored.

---

##  Step 2: Managing credentials using .env

Instead of writing database credentials directly in code, I used a `.env` file.



```env id="3hkgmq"
DB_HOST=localhost
DB_PORT=5432
DB_NAME=social_media_db
DB_USER=postgres
DB_PASSWORD=your_password
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This made my setup cleaner and more secure.&lt;/p&gt;


&lt;h2&gt;
  
  
  Step 3: Connecting PostgreSQL with Python
&lt;/h2&gt;

&lt;p&gt;To connect my project with the database, I used &lt;code&gt;psycopg2&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;```python id="s6x3jm"&lt;br&gt;
import os&lt;br&gt;
import psycopg2&lt;br&gt;
from dotenv import load_dotenv&lt;/p&gt;

&lt;p&gt;load_dotenv()&lt;/p&gt;

&lt;p&gt;conn = psycopg2.connect(&lt;br&gt;
    host=os.getenv("DB_HOST"),&lt;br&gt;
    port=os.getenv("DB_PORT"),&lt;br&gt;
    dbname=os.getenv("DB_NAME"),&lt;br&gt;
    user=os.getenv("DB_USER"),&lt;br&gt;
    password=os.getenv("DB_PASSWORD")&lt;br&gt;
)&lt;/p&gt;

&lt;p&gt;print("Database connected successfully!")&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;


Seeing this connection work was a great moment.

---

##  Step 4: Executing my database design

Earlier, I had designed my database structure using DDL.

Today, I executed that design in PostgreSQL.

My schema includes:

* Users table
* Platforms table
* Credentials table
* Posts table
* Post logs table

Now my design is no longer just an idea — it’s a working database.

---

##  Step 5: Updating from SQLite to PostgreSQL

My project was previously using SQLite.

So I started adapting it to PostgreSQL.

I learned small but important differences:

* `AUTOINCREMENT` → `SERIAL`
* `DATETIME` → `TIMESTAMP`

These changes helped me understand how different databases work.

---

##  What I learned today

Today was not about writing a lot of code.

It was about understanding how things actually work behind the scenes.

I learned that:

* Database setup is a core part of backend development
* Environment variables are important for security
* Designing and executing a schema are two different steps
* Migrating between databases requires attention to detail

---

##  My takeaway

I feel more confident now working with databases.

Instead of just using default setups, I now understand how to:

* Create and manage databases
* Connect them to applications
* Structure data properly

---

##  Final thought

Every day I’m learning something new.

Some days it’s coding,
Some days it’s understanding systems.

Both are equally important.

This is just one more step in my journey — more learning ahead 🚀
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>webdev</category>
      <category>database</category>
      <category>postgres</category>
      <category>sql</category>
    </item>
    <item>
      <title>Designing My First Real Database Schema with DDL (PostgreSQL)</title>
      <dc:creator>Bharath Kumar_30</dc:creator>
      <pubDate>Wed, 25 Mar 2026 06:12:06 +0000</pubDate>
      <link>https://dev.to/bharath_kumar_30_vog/designing-my-first-real-database-schema-with-ddl-postgresql-4icf</link>
      <guid>https://dev.to/bharath_kumar_30_vog/designing-my-first-real-database-schema-with-ddl-postgresql-4icf</guid>
      <description>&lt;p&gt;Hey everyone,&lt;/p&gt;

&lt;p&gt;Today was a different kind of learning day for me.&lt;/p&gt;

&lt;p&gt;Instead of writing APIs or working on frontend, I focused on something very important in backend development — &lt;strong&gt;database design using DDL commands&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;At first, I thought database means just creating tables. But today I understood that it’s much more than that.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I worked on today
&lt;/h2&gt;

&lt;p&gt;My guide asked me to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Design the database structure&lt;/li&gt;
&lt;li&gt;Write DDL commands (CREATE TABLE)&lt;/li&gt;
&lt;li&gt;Apply constraints (for data integrity)&lt;/li&gt;
&lt;li&gt;Think about optimization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I didn’t just create tables — I designed a proper structure for my project.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is DDL?
&lt;/h2&gt;

&lt;p&gt;DDL stands for &lt;strong&gt;Data Definition Language&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is used to define the structure of the database.&lt;/p&gt;

&lt;p&gt;Some common commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt;
&lt;span class="k"&gt;ALTER&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt;
&lt;span class="k"&gt;DROP&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Today, I mainly worked with &lt;code&gt;CREATE TABLE&lt;/code&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Database Design (Project Based)
&lt;/h2&gt;

&lt;p&gt;My project is about &lt;strong&gt;social media automation&lt;/strong&gt;, so I designed tables based on real use cases.&lt;/p&gt;




&lt;h3&gt;
  
  
  Users Table
&lt;/h3&gt;

&lt;p&gt;Stores user details like username, email, and password.&lt;/p&gt;

&lt;p&gt;Important:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Email is unique&lt;/li&gt;
&lt;li&gt;Password is stored securely&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Platforms Table
&lt;/h3&gt;

&lt;p&gt;Instead of hardcoding platforms like Telegram or Twitter, I created a separate table.&lt;/p&gt;

&lt;p&gt;Benefit:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easy to add new platforms later&lt;/li&gt;
&lt;li&gt;No need to change code&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Credentials Table
&lt;/h3&gt;

&lt;p&gt;This table connects users and platforms.&lt;/p&gt;

&lt;p&gt;Key points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stores API keys (in encrypted format)&lt;/li&gt;
&lt;li&gt;Prevents duplicate connections using UNIQUE constraint&lt;/li&gt;
&lt;li&gt;Uses ON DELETE CASCADE&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Posts Table
&lt;/h3&gt;

&lt;p&gt;Stores content that users want to post.&lt;/p&gt;

&lt;p&gt;Includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Content&lt;/li&gt;
&lt;li&gt;Status (pending, sent, failed)&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Post Logs Table
&lt;/h3&gt;

&lt;p&gt;This was a very important part.&lt;/p&gt;

&lt;p&gt;One post can go to multiple platforms&lt;br&gt;
 Each platform result is stored separately&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Telegram → Success&lt;/li&gt;
&lt;li&gt;Twitter → Failed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So logs help track everything clearly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Data Integrity (Important Learning)
&lt;/h2&gt;

&lt;p&gt;Today I understood that just creating tables is not enough.&lt;/p&gt;

&lt;p&gt;We must protect the data.&lt;/p&gt;

&lt;p&gt;I used:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PRIMARY KEY → unique identification&lt;/li&gt;
&lt;li&gt;FOREIGN KEY → relationships&lt;/li&gt;
&lt;li&gt;UNIQUE → no duplicates&lt;/li&gt;
&lt;li&gt;NOT NULL → required fields&lt;/li&gt;
&lt;li&gt;CHECK → restrict valid values&lt;/li&gt;
&lt;li&gt;ON DELETE CASCADE → automatic cleanup&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Optimization (Small but powerful)
&lt;/h2&gt;

&lt;p&gt;I also added indexes.&lt;/p&gt;

&lt;p&gt;Why?&lt;/p&gt;

&lt;p&gt;Because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Faster queries&lt;/li&gt;
&lt;li&gt;Better performance&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What I realized today
&lt;/h2&gt;

&lt;p&gt;Earlier, I used to think:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Database = just store data”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now I understand:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Database design = foundation of the entire application”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If the structure is wrong, everything becomes difficult later.&lt;/p&gt;




&lt;h2&gt;
  
  
  My takeaway
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Think before creating tables&lt;/li&gt;
&lt;li&gt;Design based on real use cases&lt;/li&gt;
&lt;li&gt;Always include constraints&lt;/li&gt;
&lt;li&gt;Plan for scalability&lt;/li&gt;
&lt;li&gt;Keep it clean and structured&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final thought
&lt;/h2&gt;

&lt;p&gt;Today I didn’t just write SQL.&lt;/p&gt;

&lt;p&gt;I learned how to think like a backend developer.&lt;/p&gt;

&lt;p&gt;Still learning, still improving — one step at a time.&lt;/p&gt;

&lt;p&gt;More updates coming soon &lt;/p&gt;

</description>
      <category>database</category>
      <category>webdev</category>
      <category>ddl</category>
      <category>programming</category>
    </item>
    <item>
      <title>I Reached the Final Round… But Didn’t Get Selected (And That’s Okay)</title>
      <dc:creator>Bharath Kumar_30</dc:creator>
      <pubDate>Mon, 23 Mar 2026 16:14:13 +0000</pubDate>
      <link>https://dev.to/bharath_kumar_30_vog/i-reached-the-final-round-but-didnt-get-selected-and-thats-okay-5aga</link>
      <guid>https://dev.to/bharath_kumar_30_vog/i-reached-the-final-round-but-didnt-get-selected-and-thats-okay-5aga</guid>
      <description>&lt;p&gt;Hey everyone,&lt;/p&gt;

&lt;p&gt;Today I wanted to share something real from my journey.&lt;/p&gt;

&lt;p&gt;Not a success story.&lt;br&gt;
Not a “I got placed” post.&lt;/p&gt;

&lt;p&gt;But something that actually matters more.&lt;/p&gt;




&lt;h2&gt;
  
  
  💬 What happened?
&lt;/h2&gt;

&lt;p&gt;I attended an interview process that went on for around 10 days.&lt;/p&gt;

&lt;p&gt;It was not easy at all. There were more than 450+ candidates.&lt;/p&gt;

&lt;p&gt;Round by round, people were getting filtered out.&lt;/p&gt;

&lt;p&gt;And somehow… I kept moving forward.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cleared aptitude&lt;/li&gt;
&lt;li&gt;Cleared coding&lt;/li&gt;
&lt;li&gt;Cleared mock interview&lt;/li&gt;
&lt;li&gt;Cleared technical round&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Finally…&lt;/p&gt;

&lt;p&gt;👉 I reached the &lt;strong&gt;last round&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;👉 Top 5 candidates&lt;/p&gt;

&lt;p&gt;Honestly, that moment itself felt like a win.&lt;/p&gt;




&lt;h2&gt;
  
  
  😶 But here’s the truth
&lt;/h2&gt;

&lt;p&gt;I didn’t get selected in the final HR round.&lt;/p&gt;

&lt;p&gt;Yeah… that hurt.&lt;/p&gt;

&lt;p&gt;After coming so far, losing in the last step is not easy to accept.&lt;/p&gt;

&lt;p&gt;But at the same time, I didn’t feel like I failed.&lt;/p&gt;

&lt;p&gt;Because I know how far I came.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 What I realized
&lt;/h2&gt;

&lt;p&gt;Till now, I always focused on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Learning AI tools&lt;/li&gt;
&lt;li&gt;Practicing prompt engineering&lt;/li&gt;
&lt;li&gt;Understanding LLMs&lt;/li&gt;
&lt;li&gt;Building projects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m still new, but I’ve been learning consistently.&lt;/p&gt;

&lt;p&gt;And those things helped me clear all the technical rounds.&lt;/p&gt;

&lt;p&gt;But the final round showed me something different.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Being good technically is not enough.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🧩 The missing piece
&lt;/h2&gt;

&lt;p&gt;The HR round was not about coding.&lt;/p&gt;

&lt;p&gt;It was about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How you speak&lt;/li&gt;
&lt;li&gt;How you present yourself&lt;/li&gt;
&lt;li&gt;How clearly you think&lt;/li&gt;
&lt;li&gt;How confidently you answer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And I understood…&lt;/p&gt;

&lt;p&gt;👉 I need to improve there.&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 One thing I learned deeply
&lt;/h2&gt;

&lt;p&gt;In this field, especially in corporate life:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You have to keep updating yourself every single day.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Not just in coding.&lt;/p&gt;

&lt;p&gt;But in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Communication&lt;/li&gt;
&lt;li&gt;Thinking&lt;/li&gt;
&lt;li&gt;Confidence&lt;/li&gt;
&lt;li&gt;Real-world understanding&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔥 My biggest takeaway
&lt;/h2&gt;

&lt;p&gt;From 450+ people to Top 5.&lt;/p&gt;

&lt;p&gt;That itself tells me something:&lt;/p&gt;

&lt;p&gt;👉 I am on the right path.&lt;/p&gt;

&lt;p&gt;I didn’t lose.&lt;/p&gt;

&lt;p&gt;I just found what I need to improve next.&lt;/p&gt;




&lt;h2&gt;
  
  
  💪 What I’m going to do next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Work on communication skills&lt;/li&gt;
&lt;li&gt;Practice more real interview scenarios&lt;/li&gt;
&lt;li&gt;Keep building projects&lt;/li&gt;
&lt;li&gt;Keep learning AI and LLM deeply&lt;/li&gt;
&lt;li&gt;Come back stronger&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🤝 To anyone reading this
&lt;/h2&gt;

&lt;p&gt;If you are also preparing for interviews…&lt;/p&gt;

&lt;p&gt;Listen carefully:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rejection is normal&lt;/li&gt;
&lt;li&gt;Pressure is normal&lt;/li&gt;
&lt;li&gt;Self-doubt is normal&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But stopping is not.&lt;/p&gt;




&lt;h2&gt;
  
  
  🌱 Final thought
&lt;/h2&gt;

&lt;p&gt;Sometimes you won’t get what you worked for.&lt;/p&gt;

&lt;p&gt;But you will get what you &lt;em&gt;learned from it&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;And that matters more.&lt;/p&gt;




&lt;p&gt;This is just one step in my journey.&lt;/p&gt;

&lt;p&gt;I’ll keep learning.&lt;br&gt;
I’ll keep improving.&lt;br&gt;
I’ll keep showing up.&lt;/p&gt;

&lt;p&gt;One day… I’ll write a “selected” post too.&lt;/p&gt;

&lt;p&gt;Until then — we move forward 🚀&lt;/p&gt;

</description>
      <category>codereview</category>
      <category>motivation</category>
      <category>interview</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
