<?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>What Happens to Junior Developers When AI Becomes Better Than Junior Developers?</title>
      <dc:creator>Bharath Kumar_30</dc:creator>
      <pubDate>Tue, 15 Sep 2026 08:57:17 +0000</pubDate>
      <link>https://dev.to/bharath_kumar_30_vog/what-happens-to-junior-developers-when-ai-becomes-better-than-junior-developers-29ec</link>
      <guid>https://dev.to/bharath_kumar_30_vog/what-happens-to-junior-developers-when-ai-becomes-better-than-junior-developers-29ec</guid>
      <description>&lt;p&gt;&lt;em&gt;I don't think the biggest question about AI is "Will it replace developers?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I think it's this: **Who gets the chance to become a developer in the first place?&lt;/em&gt;**&lt;/p&gt;




&lt;p&gt;A few years ago, if you wanted to become a software developer, the path was relatively simple.&lt;/p&gt;

&lt;p&gt;Learn a programming language.&lt;/p&gt;

&lt;p&gt;Build some projects.&lt;/p&gt;

&lt;p&gt;Break things.&lt;/p&gt;

&lt;p&gt;Google the error.&lt;/p&gt;

&lt;p&gt;Build more projects.&lt;/p&gt;

&lt;p&gt;Get an internship.&lt;/p&gt;

&lt;p&gt;Become a junior developer.&lt;/p&gt;

&lt;p&gt;Make mistakes for a few years.&lt;/p&gt;

&lt;p&gt;Eventually, become a senior developer.&lt;/p&gt;

&lt;p&gt;Simple enough.&lt;/p&gt;

&lt;p&gt;But now something strange is happening.&lt;/p&gt;

&lt;p&gt;AI can already write code.&lt;/p&gt;

&lt;p&gt;It can explain code.&lt;/p&gt;

&lt;p&gt;It can find bugs.&lt;/p&gt;

&lt;p&gt;It can generate tests.&lt;/p&gt;

&lt;p&gt;It can create APIs.&lt;/p&gt;

&lt;p&gt;It can help design systems.&lt;/p&gt;

&lt;p&gt;And increasingly, AI coding agents can work across entire repositories rather than just generating a few lines.&lt;/p&gt;

&lt;p&gt;So I started thinking about something that honestly bothers me a little.&lt;/p&gt;

&lt;h2&gt;
  
  
  What happens when AI becomes better than a junior developer?
&lt;/h2&gt;

&lt;p&gt;Not better than a &lt;strong&gt;10-year senior engineer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Not better than a &lt;strong&gt;staff engineer designing massive distributed systems&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I'm talking about something much simpler.&lt;/p&gt;

&lt;p&gt;What happens when an AI can do the work that companies traditionally give to junior developers?&lt;/p&gt;

&lt;p&gt;Things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create an API&lt;/li&gt;
&lt;li&gt;Fix a bug&lt;/li&gt;
&lt;li&gt;Write unit tests&lt;/li&gt;
&lt;li&gt;Convert a SQL query&lt;/li&gt;
&lt;li&gt;Add a feature&lt;/li&gt;
&lt;li&gt;Create a CRUD application&lt;/li&gt;
&lt;li&gt;Explain why a function is failing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If an AI can do these things in seconds...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;why would a company hire someone who needs months to learn them?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And that's where things get interesting.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Junior Developer Job Was More Than a Job
&lt;/h2&gt;

&lt;p&gt;Here's the part I think we sometimes forget.&lt;/p&gt;

&lt;p&gt;A junior developer wasn't hired because they were extremely productive.&lt;/p&gt;

&lt;p&gt;They were hired because they had &lt;strong&gt;potential&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The company was essentially saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"You don't know everything yet. That's okay. We'll teach you."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The junior developer would slowly learn how real software works.&lt;/p&gt;

&lt;p&gt;They'd see terrible legacy code.&lt;/p&gt;

&lt;p&gt;They'd attend meetings where nobody understands the requirements.&lt;/p&gt;

&lt;p&gt;They'd deploy something on Friday and immediately regret it.&lt;/p&gt;

&lt;p&gt;They'd fix bugs at 11 PM.&lt;/p&gt;

&lt;p&gt;They'd learn why:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"It works on my machine."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;is not an acceptable production strategy. &lt;/p&gt;

&lt;p&gt;Those experiences create senior engineers.&lt;/p&gt;

&lt;p&gt;But if AI handles most of the beginner work...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;where does the experience come from?&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Weird Paradox
&lt;/h2&gt;

&lt;p&gt;Imagine the year is 2030.&lt;/p&gt;

&lt;p&gt;You are a new developer.&lt;/p&gt;

&lt;p&gt;You know JavaScript.&lt;/p&gt;

&lt;p&gt;You know Python.&lt;/p&gt;

&lt;p&gt;You've built five projects.&lt;/p&gt;

&lt;p&gt;You understand databases.&lt;/p&gt;

&lt;p&gt;You understand APIs.&lt;/p&gt;

&lt;p&gt;You apply for a job.&lt;/p&gt;

&lt;p&gt;The interviewer gives you a simple task:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Build a REST API for managing users."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You start thinking about the architecture.&lt;/p&gt;

&lt;p&gt;Then the interviewer says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"You don't need to build it."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You look confused.&lt;/p&gt;

&lt;p&gt;They continue:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Our AI agent can already build it."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now what?&lt;/p&gt;




&lt;h2&gt;
  
  
  Maybe Coding Won't Be the Entry Ticket Anymore
&lt;/h2&gt;

&lt;p&gt;This is where I think the definition of a developer could change.&lt;/p&gt;

&lt;p&gt;Today we often think:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Developer = Person who writes code
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But maybe the future looks more like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Developer = Person who understands problems deeply
             +
             designs solutions
             +
             directs AI
             +
             validates the result
             +
             takes responsibility
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The ability to type code may become less valuable.&lt;/p&gt;

&lt;p&gt;The ability to &lt;strong&gt;know what code should exist&lt;/strong&gt; could become more valuable.&lt;/p&gt;

&lt;p&gt;That's a very different skill.&lt;/p&gt;




&lt;h2&gt;
  
  
  "But AI Makes Mistakes!"
&lt;/h2&gt;

&lt;p&gt;Yes.&lt;/p&gt;

&lt;p&gt;Absolutely.&lt;/p&gt;

&lt;p&gt;AI can generate terrible code.&lt;/p&gt;

&lt;p&gt;It can misunderstand requirements.&lt;/p&gt;

&lt;p&gt;It can hallucinate APIs.&lt;/p&gt;

&lt;p&gt;It can introduce security vulnerabilities.&lt;/p&gt;

&lt;p&gt;It can make a beautifully complicated solution to a problem that needed five lines.&lt;/p&gt;

&lt;p&gt;So I'm not saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"AI will write everything perfectly."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's not the point.&lt;/p&gt;

&lt;p&gt;The interesting question is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How much human coding is required when AI becomes 80–90% reliable at common development tasks?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because even if the AI needs a human to review everything...&lt;/p&gt;

&lt;p&gt;that's still a huge productivity change.&lt;/p&gt;

&lt;p&gt;Imagine one engineer who can effectively operate like five engineers because AI handles much of the implementation work.&lt;/p&gt;

&lt;p&gt;That changes hiring.&lt;/p&gt;




&lt;h2&gt;
  
  
  And This Creates a Problem Nobody Talks About Enough
&lt;/h2&gt;

&lt;p&gt;Suppose companies need fewer junior developers.&lt;/p&gt;

&lt;p&gt;Senior developers remain.&lt;/p&gt;

&lt;p&gt;AI handles much of the repetitive implementation.&lt;/p&gt;

&lt;p&gt;Then we have:&lt;br&gt;
&lt;/p&gt;

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

Junior → Mid → Senior → Staff
   ↑
Learning happens here


Possible future:

AI handles much of this
        ↓
Junior opportunities decrease
        ↓
Fewer people gain experience
        ↓
Where do future seniors come from?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's the paradox.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We need experienced engineers.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But experienced engineers have to come from somewhere.&lt;/p&gt;




&lt;h2&gt;
  
  
  Maybe the Definition of "Junior" Has to Change
&lt;/h2&gt;

&lt;p&gt;I don't think the answer is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Stop using AI."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's unrealistic.&lt;/p&gt;

&lt;p&gt;Instead, maybe junior developers need to learn things that AI cannot simply replace with a prompt.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  1. Understanding Systems
&lt;/h3&gt;

&lt;p&gt;Don't just learn:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="bp"&gt;...&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why does this system exist?&lt;/li&gt;
&lt;li&gt;Where does the data come from?&lt;/li&gt;
&lt;li&gt;What happens when 1 million users use it?&lt;/li&gt;
&lt;li&gt;Where can it fail?&lt;/li&gt;
&lt;li&gt;What happens if the database goes down?&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  2. Debugging Instead of Only Generating
&lt;/h3&gt;

&lt;p&gt;Anyone can say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"AI, fix this."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A good engineer asks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Why did this fail?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There's a huge difference.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. Understanding Trade-offs
&lt;/h3&gt;

&lt;p&gt;AI can give you ten solutions.&lt;/p&gt;

&lt;p&gt;But which one should you choose?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Solution A → cheaper

Solution B → faster

Solution C → easier to maintain

Solution D → more scalable
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's not purely a coding problem.&lt;/p&gt;

&lt;p&gt;It's an engineering decision.&lt;/p&gt;




&lt;h3&gt;
  
  
  4. Learning to Question AI
&lt;/h3&gt;

&lt;p&gt;This might become one of the most important developer skills.&lt;/p&gt;

&lt;p&gt;Don't ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Can AI write this?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Should this be written this way?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's a completely different mindset.&lt;/p&gt;




&lt;h2&gt;
  
  
  I Actually Think AI Could Make Great Developers Even Better
&lt;/h2&gt;

&lt;p&gt;Here's the optimistic side.&lt;/p&gt;

&lt;p&gt;Imagine you're a developer.&lt;/p&gt;

&lt;p&gt;Instead of spending three hours writing boilerplate code, AI does it.&lt;/p&gt;

&lt;p&gt;You spend those three hours thinking about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Architecture&lt;/li&gt;
&lt;li&gt;Users&lt;/li&gt;
&lt;li&gt;Security&lt;/li&gt;
&lt;li&gt;Performance&lt;/li&gt;
&lt;li&gt;Product design&lt;/li&gt;
&lt;li&gt;Reliability&lt;/li&gt;
&lt;li&gt;Edge cases&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's pretty exciting.&lt;/p&gt;

&lt;p&gt;AI could remove some of the boring parts of software engineering.&lt;/p&gt;

&lt;p&gt;And honestly...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;there's a lot of boring code.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  But There's One Thing I Don't Want AI to Remove
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The struggle.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I know that sounds strange.&lt;/p&gt;

&lt;p&gt;But some of the most valuable programming lessons come from things not working.&lt;/p&gt;

&lt;p&gt;The bug that took five hours.&lt;/p&gt;

&lt;p&gt;The database query that made absolutely no sense.&lt;/p&gt;

&lt;p&gt;The deployment that broke everything.&lt;/p&gt;

&lt;p&gt;The code you were embarrassed to look at six months later.&lt;/p&gt;

&lt;p&gt;Those experiences teach something that tutorials don't.&lt;/p&gt;

&lt;p&gt;They teach you how to &lt;strong&gt;think&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If AI fixes every problem before we have the opportunity to understand it...&lt;/p&gt;

&lt;p&gt;we might become excellent at using AI while becoming terrible at understanding software.&lt;/p&gt;

&lt;p&gt;And that's dangerous.&lt;/p&gt;




&lt;h2&gt;
  
  
  So Should You Still Learn Programming?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Absolutely.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But I think the reason is changing.&lt;/p&gt;

&lt;p&gt;Don't learn programming only because:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Companies need people who can write code."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Learn it because programming teaches you how to &lt;strong&gt;think precisely&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data structures&lt;/li&gt;
&lt;li&gt;Algorithms&lt;/li&gt;
&lt;li&gt;Databases&lt;/li&gt;
&lt;li&gt;Networking&lt;/li&gt;
&lt;li&gt;Operating systems&lt;/li&gt;
&lt;li&gt;APIs&lt;/li&gt;
&lt;li&gt;Distributed systems&lt;/li&gt;
&lt;li&gt;Security&lt;/li&gt;
&lt;li&gt;System design&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And yes...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;use AI while learning them.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Just don't let AI become the person doing all the thinking.&lt;/p&gt;




&lt;h2&gt;
  
  
  Maybe the Future Developer Looks Like This
&lt;/h2&gt;

&lt;p&gt;Not this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Human
  ↓
Writes code
  ↓
Runs code
  ↓
Fixes bugs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Human
  ↓
Defines the problem
  ↓
Designs the solution
  ↓
AI builds
  ↓
Human reviews
  ↓
AI tests
  ↓
Human validates
  ↓
AI deploys
  ↓
Human owns the outcome
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The keyboard might become less important.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Judgment becomes more important.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  And Then There Is AGI...
&lt;/h2&gt;

&lt;p&gt;This is where things become much harder to predict.&lt;/p&gt;

&lt;p&gt;If we eventually get something that genuinely deserves the name &lt;strong&gt;AGI&lt;/strong&gt; — a system capable of broadly performing intellectual tasks at a very high level — then this conversation becomes much bigger than software development.&lt;/p&gt;

&lt;p&gt;Because at that point, the question isn't:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Will AI replace junior developers?"&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"What work should humans do when intelligence itself becomes cheap?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I don't know the answer.&lt;/p&gt;

&lt;p&gt;I don't think anyone honestly does.&lt;/p&gt;

&lt;p&gt;And maybe that's the most interesting part.&lt;/p&gt;




&lt;h2&gt;
  
  
  One Question I'd Ask Every Developer
&lt;/h2&gt;

&lt;p&gt;Imagine tomorrow you receive access to an AI that can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understand your entire codebase&lt;/li&gt;
&lt;li&gt;Write features&lt;/li&gt;
&lt;li&gt;Fix bugs&lt;/li&gt;
&lt;li&gt;Create tests&lt;/li&gt;
&lt;li&gt;Review pull requests&lt;/li&gt;
&lt;li&gt;Optimize queries&lt;/li&gt;
&lt;li&gt;Deploy applications&lt;/li&gt;
&lt;li&gt;Monitor production&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You still have to keep your job.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What skill would you want to be paid for?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'd love to hear your answer.&lt;/p&gt;

&lt;p&gt;Because I don't think the future of developers is really about &lt;strong&gt;AI vs developers&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I think it's going to be about:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Developers who know how to use AI vs developers who don't.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And maybe, eventually...&lt;/p&gt;

&lt;p&gt;something even more interesting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Developers who know what humans should be doing when AI can do almost everything else.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What Do You Think?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Will AI make it harder for junior developers to enter the industry, or will it create completely new kinds of junior roles?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm genuinely curious what other developers think.&lt;/p&gt;

&lt;p&gt;Drop your opinion in the comments.&lt;/p&gt;

&lt;p&gt;Even if you disagree with me.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Especially if you disagree with me.&lt;/strong&gt; &lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>futurechallenge</category>
      <category>career</category>
    </item>
    <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>
  </channel>
</rss>
