{"slug": "ai-didnt-build-my-backend-for-me-i-used-it-as-my-copilot", "title": "AI Didn’t Build My Backend for Me. I Used It as My Copilot.", "summary": "A developer building the CourierIQ project used AI as a mentoring copilot rather than a code generator, prompting a tool called Antigravity to act as a senior developer that supplied steps and explanations while the developer wrote the backend code himself. The engineer, who was already comfortable with frontend work, used the approach to learn Express setup, database initialization, and backend folder structure such as config, routes, controllers, services, and models. The developer said the goal was to understand the codebase rather than just have a working backend.", "body_md": "When we were given our project, CourierIQ, I knew I wanted to use it as an opportunity to learn something outside what I was already comfortable with.\n\nI was already more familiar with frontend development, so when backend development came into the picture, I was actually excited.\n\nI thought, *okay, this is going to be interesting.*\n\nI don't want to be someone who only knows one side of development. If I have the opportunity to learn something new, why not?\n\nBut when the backend sessions actually started, I quickly realized I had a lot to learn.\n\nWe were talking about requests, APIs, endpoints, controllers, services, middleware and all these things that sounded very familiar to everyone else but were honestly confusing to me.\n\nI was hearing all these terms, but I didn't really understand how they connected.\n\nIt wasn't until I started doing the hands-on work that things slowly started making sense.\n\nAt that point, I had a problem.\n\nI could go through several backend tutorials and slowly learn everything before building CourierIQ.\n\nBut the project had a deadline.\n\nAnd knowing myself, I also knew that I could easily spend weeks watching tutorials, taking notes, starting another tutorial, and still be waiting for that perfect moment when I felt \"ready\" to build.\n\nSo I started thinking about another way I could learn while actually building.\n\nThat's when I decided to use AI.\n\nNot because I wanted AI to build my backend for me.\n\nI saw AI as a way to **speed up the learning process while working on the actual project**.\n\nAnd this is where my approach became very important.\n\nWhen I started working with AI on the backend, I gave it a specific role.\n\nI basically told it:\n\nI'm new to backend development. Act like a senior developer mentoring me through this project. Give me the steps I need to follow, explain why I'm doing them, and don't just write the code for me.\n\nI was using Antigravity, and I really enjoyed the support I got from it throughout the process.\n\nOne of the first things I wanted to understand was the structure of the backend itself.\n\nWhere should my files go?\n\nWhy do I need a `config` folder?\n\nWhy are there `routes`, `controllers`, `services` and `models`?\n\nWhat is supposed to happen in each one?\n\nFor me, this was important because I didn't just want the project to work. I wanted the codebase to actually make sense.\n\nSo instead of asking AI:\n\n\"Build my backend.\"\n\nI would ask it something more like:\n\n\"What should I do first?\"\n\nAnd it would give me the steps.\n\nCreate this folder.\n\nCreate this file.\n\nThis file is responsible for this.\n\nThen move to this part.\n\nThen connect this.\n\nThen test it.\n\nAnd I would write the code myself.\n\nThis was probably one of the most important decisions I made during the process.\n\nIt would have been much easier to tell AI:\n\n\"Build the authentication system for me.\"\n\nAnd then copy whatever it gave me.\n\nBut I knew that if I did that, I could end up with a working backend that I didn't actually understand.\n\nAnd I didn't want that.\n\nI wanted to struggle a little.\n\nI wanted to make mistakes.\n\nI wanted to look at an error and try to figure out what was wrong.\n\nSo most of the time, AI gave me the **steps and direction**, and I handled the implementation.\n\nSometimes I would write something incorrectly and AI would point out the problem.\n\nSometimes I would see a piece of code I didn't understand and ask:\n\n\"Why are we doing this?\"\n\nOr:\n\n\"What does this actually do?\"\n\nOr even:\n\n\"Explain this to me like I'm completely new to it.\"\n\nAnd that became part of my learning process.\n\nOne of the first moments where I felt like my approach was actually working was when I started setting up the Express application and getting my server running.\n\nThen I moved on to initializing the database.\n\nThese might sound like very small things, but for someone who was completely new to backend development, they were actually important moments.\n\nI started understanding that the things I was writing weren't just random lines of code.\n\nThere was a reason for the server.\n\nThere was a reason for the database connection.\n\nThere was a reason for the different folders.\n\nThere was a flow.\n\nAnd slowly, the backend stopped looking like a huge confusing block of code.\n\nIt started becoming something I could actually navigate.\n\nOf course, it wasn't all smooth.\n\nJWT was one of those things that made me stop and ask a lot of questions.\n\nI understood that users needed to log in, but then I started seeing tokens, secrets, user IDs and verification.\n\nAnd I was like...\n\n**Wait. Why are we doing all this?**\n\nSo instead of just copying the JWT code, I started asking questions.\n\nWhat exactly is inside the token?\n\nWhy is the user ID there?\n\nWhat is the JWT secret?\n\nWhy does the backend need it?\n\nHow does the backend know whether the token is valid?\n\nThat process helped me understand that the token wasn't just some random string the backend generated.\n\nIt could represent an authenticated user's session, and the backend could verify it before allowing access to protected resources.\n\nThat was one of those moments where asking AI to explain something was more valuable to me than simply getting the code.\n\nThe easiest way I can describe my experience is that AI felt like having a senior developer beside me.\n\nNot someone who sits down and writes the entire project for me.\n\nMore like someone who says:\n\n\"Okay, this is what you need to do next.\"\n\nThen I try it.\n\nIf I get something wrong:\n\n\"This part isn't right. Here's why. Try it again.\"\n\nIf I don't understand something:\n\n\"Let's break this down.\"\n\nAnd then I continue.\n\nThat's how I wanted to use AI.\n\nIt wasn't about removing the thinking from the process.\n\nIt was about having somewhere to turn when I got stuck.\n\nInterestingly, I used AI differently depending on what I was building.\n\nWith frontend development, there were things I already knew how to do, so I was more comfortable letting AI help me with repetitive code or things I had done before.\n\nBut backend was different.\n\nI couldn't just tell it to do something because I didn't know enough yet to confidently judge whether what it gave me was actually good.\n\nSo I became much more intentional.\n\nI needed explanations.\n\nI needed the structure.\n\nI needed to understand why something existed before I could confidently use it.\n\nThat difference actually taught me something about using AI for development:\n\n**The less you understand about a technology, the more careful you need to be about blindly accepting AI-generated solutions.**\n\nNo.\n\nAnd I don't think I should say that.\n\nAfter three or four weeks of working through the backend, I wouldn't suddenly call myself a backend expert.\n\nI still have a lot to learn.\n\nThere are concepts I haven't worked with deeply yet, and there are definitely things I would struggle to build completely from scratch without some form of guidance.\n\nBut I can say something else.\n\nI now have **basic knowledge of backend development that I didn't have before**.\n\nI understand things that were completely confusing to me at the beginning.\n\nI understand the basic relationship between routes, middleware, controllers, services, models and databases.\n\nI understand why authentication exists and what JWTs are doing in that process.\n\nI understand the importance of validation.\n\nAnd when I open a backend project now, I don't feel like I'm looking at a completely foreign language.\n\nI can find my way around.\n\nFor me, that's progress.\n\nThe biggest lesson I took from this experience is that **how you use AI matters**.\n\nYou can ask AI to build an entire application for you and have something running in a few minutes.\n\nBut having something that runs isn't the same as understanding what you built.\n\nFor me, the better approach was to use AI as a copilot.\n\nI wanted it to help me move faster, but I still wanted to think.\n\nI wanted to write the code.\n\nI wanted to ask questions.\n\nI wanted to understand the structure.\n\nAnd most importantly, I wanted to be able to look at the project afterwards and say:\n\n**\"I may not know everything yet, but I know what is happening here.\"**\n\nThat's a very different feeling from simply having AI generate a project and saying, \"It works.\"\n\nLooking back, I definitely wouldn't say my backend journey is finished.\n\nIf anything, CourierIQ showed me how much more there is to learn.\n\nBut I'm glad I didn't wait until I knew everything before starting.\n\nI started confused.\n\nI used AI to guide me.\n\nI asked a lot of questions.\n\nI wrote the code myself.\n\nI made mistakes.\n\nI fixed them.\n\nAnd somewhere along the way, things started making sense.\n\nSo no, **AI didn't build my backend for me.**\n\nI used AI as a learning tool, a guide, and honestly, a very patient \"senior developer\" sitting beside me throughout the process.\n\nAnd I think that's probably the biggest thing I took away from the experience:\n\n**AI works best for me when it helps me think, not when it thinks for me.**", "url": "https://wpnews.pro/news/ai-didnt-build-my-backend-for-me-i-used-it-as-my-copilot", "canonical_source": "https://dev.to/suad_macaulay_acb3b90def7/ai-didnt-build-my-backend-for-me-i-used-it-as-my-copilot-2hf0", "published_at": "2026-09-19 22:17:18+00:00", "updated_at": "2026-09-19 22:54:22.142593+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "ai-products"], "entities": ["CourierIQ", "Antigravity", "Express"], "alternates": {"html": "https://wpnews.pro/news/ai-didnt-build-my-backend-for-me-i-used-it-as-my-copilot", "markdown": "https://wpnews.pro/news/ai-didnt-build-my-backend-for-me-i-used-it-as-my-copilot.md", "text": "https://wpnews.pro/news/ai-didnt-build-my-backend-for-me-i-used-it-as-my-copilot.txt", "jsonld": "https://wpnews.pro/news/ai-didnt-build-my-backend-for-me-i-used-it-as-my-copilot.jsonld"}}