I thought vibe coding would be like magic. Instead, I ended up breaking my app three times, learning Git the hard way, and somehow enjoying it
If you’ve ever thought, “AI makes coding easy now, maybe I could finally build something”… this post is for you.
I jumped in with zero experience and learned the hard way what AI actually helps with, what it makes worse, and how many times you’ll probably have to break everything before it clicks. This is what I wish I knew before I started.
I started with Visual Studio Code because ChatGPT told me to. Honestly? Brutal. I was copy-pasting code straight from ChatGPT into VS Code, not even using the built-in chatbot. I had no idea what I was looking at and felt totally lost.
Then someone told me to try Lovable. I liked it, but since I was asking a million questions and hitting the API constantly, I ran through credits fast and it got pricey.
So I moved to Cursor. Cursor felt like a better fit — cheaper, with AI built in. But it wasn’t push-button easy. I was still wiring things together manually and half the time I didn’t even know what I was wiring. Like when I connected my app to Supabase. I didn’t even know what Supabase was — I just followed the steps and hoped it would work.
I had Supabase running my database, tables, RLS security rules, and login via magic links. It actually worked, but I didn’t like the look of the Supabase magic link emails. A friend suggested Resend, so I jumped on it without much research and asked Cursor to add it.
What I didn’t realize was Cursor also added NextAuth for authentication — even though Supabase was already handling that. Boom. Everything broke.
Suddenly logins didn’t work, errors were everywhere. It was like asking for insulation for my house, and the AI gave me marshmallows. I didn’t notice until I tried to hang drywall, and by then it was too late. Cursor kept trying to use “bigger nails” or a “different screwdriver” to hang the drywall when the real problem was the insulation. I couldn’t read the code well enough to see that and properly instruct Cursor on how what to fix.
I patched at it for days with no luck. Out of frustration, I blew it all up and tried to rebuild with Neon + Resend + NextAuth thinking maybe it’d be easier or cheaper than Supabase. That failed too. In the end, I scrapped everything and went back to Supabase. Third rebuild. It sucked, but every time I restarted, I understood a little more.
Learning to code this way feels like building a house when you don’t know the materials. I know what the finished house should look like, and I’m slowly learning the steps to build it. But I can’t always tell if the “insulation” is real or marshmallows until I’m already stuck.
I’ve realized vibe coding does help a beginner like me actually create things. But being able to read and understand the code matters too. Every time I break something, I learn a little more.
Learning Ctrl + C to stop the terminal. Dumb, but it made me feel like I actually had control.
Recognizing the same bugs showing up and finally knowing how to fix them.
Catching when my Supabase queries didn’t match my code instead of just staring blankly.
Getting Docker, the CLI, and Chromium running — things that felt impossible at first.
Finally “getting” Git. At first I thought undo in Cursor was enough. Nope. Git is like checkpoints for your project. Now I commit all the time so I can roll back when (not if) I break things.
YouTube. At first I thought AI could answer everything. But sometimes ChatGPT or Cursor would explain something and it just… didn’t work. Watching a YouTube walkthrough fixed problems I’d been stuck on for hours.
AI won’t stop you from failing. It just helps you fail faster. That’s actually where most of the learning happens.
Don’t just restart every time. I restarted my app three times before realizing: there are always going to be bugs. You have to learn to debug, not just nuke and reset.
Use Git early. It’s version control — snapshots of your project. If you break something, you can roll back instead of losing everything.
Celebrate the tiny wins. Fixing one bug, learning a shortcut, or connecting something new is what keeps you moving forward.
Mix in YouTube. Docs and AI are useful, but sometimes you just need to watch someone do it.
I’m still a beginner. But now, when something fails, I try to understand why instead of just asking Cursor to fix it, since it won't. (This took me 3 weeks to learn/accept.)
So I’m curious:
What’s a mistake you made as a beginner that actually taught you a lot?
What’s one small win that made you feel like, “ok, I’m actually a coder now”?
How do you stop yourself from relying too much on AI suggestions?
— Kaia
I’ve seen a few founders use AI to accelerate early MVP builds, but the debugging side can be brutal. It’s encouraging to see someone stick with it through setbacks. Did you use AI mostly for logic generation or frontend too?
keep it up man! you are roking it!
"I can totally relate to this! Learning to code with AI feels like a rollercoaster — full of breakthroughs and breakdowns. For me, my biggest mistake was not properly understanding Git in the beginning. I kept resetting everything instead of learning how to debug, and I wish I had learned version control earlier. A small win for me was finally figuring out how to set up a local environment and seeing it work for the first time. It made me feel like I was really making progress. I think the key is to fail forward, and like you said, AI helps you fail faster, but the real learning comes from fixing those failures yourself!"
HOW I RECOVER $850 FROM FAKE INVESTMENT BROKERS ONLINE
I'm grateful to THE HACK ANGELS RECOVERY EXPERT for helping me recover my stolen Bitcoin. After losing funds to a fake platform, I felt hopeless. I am deeply grateful for their support. If you have fallen victim to a Bitcoin scam or any other form of cryptocurrency fraud, don't give up. Reach out. THE HACK ANGELS RECOVERY EXPERT Contact:
WhatsApp (+1(520)200-2320
If you're in London, you can even visit them in person at their office located at 45-46 Red Lion Street, London WC1R 4PF, UK.
I've also learned how to code with chatgpt who i named "NOVA" I ran into so many issues like the ones you mentioned. Couple things i noticed -
1.) AI will misname functions that were previously named. Be careful that it doesn't change the naming. Sometimes you have to specifically ask it to not change any naming or arguments in functions
2.) When you ask AI to fix code - it's go to fix is to normalize things or ADD code to fix the situation instead of replacing the code that doesn't match properly or needs adjusting. This makes things more confusing
3.) ALWAYS make a backup in github so that if something breaks while you are fixing you can resort back to a working version and try again.
Great article overall!
Kaia, this is a fantastic and much-needed post. You've perfectly captured the new learning paradox: AI gets you to a broken state 10x faster than learning manually. As someone who's had to debug code from juniors who lean too heavily on Copilot, your "marshmallow insulation" story gave me a painful laugh of recognition.
There's a fundamental concept in software called an abstraction layer. Supabase is an abstraction. NextAuth is another. Your story about them clashing is the quintessential modern dev problem. The AI is brilliant at operating within a single abstraction, but it's terrible at understanding the boundaries between them. It doesn't know that two different "magic" systems for auth will fight each other.
That's the gap you fell into. It’s not a coding gap; it’s an architectural one. And your hard-won lesson is one that separates junior devs from senior ones.
To answer your questions from my perspective:
1. A mistake that taught me a lot:
Early on, I spent a week optimizing a database query because the app was slow. I wrote complex SQL, added indices—the works. Turns out, the slowness was because we were loading a 5MB image on the homepage that was being resized in the browser. I was fixing the wrong problem. The lesson: Always question the premise. The AI, like my junior self, will solve the problem you give it, but it won't tell you you're asking the wrong question.
2. A small win that made me feel like a "real" coder:
The first time I read library source code to solve a problem. I was stuck on a bug with an NPM package, the docs were useless, and AI wasn't a thing. I dove into the node_modules folder, read the library's actual JavaScript, and found my answer. It was the moment I realized all this "magic" is just code written by other people, and I could understand it if I was patient enough.
3. How I stop myself from relying too much on AI:
I use a simple rule: AI is for "how," I am for "what" and "why."
"How do I format a date in JavaScript?" -> Perfect for AI. It's a solved problem.
"What's the best way to handle user state in my app?" -> My job. This requires context, trade-offs, and future-proofing that the AI can't grasp.
"Why is this API call failing?" -> My job. The AI can guess, but I need to investigate, read the logs, and understand the root cause. Debugging is the core loop of learning. Don't outsource it.
You've already figured this out the hard way. Rebuilding your app three times feels like a failure, but you've probably learned more about authentication and databases in those three weeks than a CS student learns in a semester. You're not just a "beginner" anymore; you're a builder who's earned some serious scar tissue. That's infinitely more valuable.
Hi Vignesh, I would like to connect so may have your email or whatsapp number
Hi, please reach me on [email protected]
Thank you!
Yes i am learning so much! I agree that the The why is this API call failing should be my job but thats where i sturggle since im new to tech!
Off course its realy amazing and informative.
Lol, this sounds almost exactly like my journey. I am also self taught and I can confirm it is important to actually learn what you are doing.
Yes AI can speed up coding, but strong fundamentals are key. To add, keeping a log of errors and fixes, combining AI suggestions with peer feedback
I agree. AI isn't there to replace your skillsets, it's there to aid what you already have. As I was building my app, ScrumBuddy, I shamelessly used AI as my 'intern' - an authoritative sparring partner rather than a developer.
I wrote two articles on my experience and approach using Claude AI to help me build my app: https://www.indiehackers.com/post/why-i-put-claude-in-jail-and-let-him-code-anyway-fcac38aea8
https://www.indiehackers.com/post/i-built-a-compiler-in-five-days-with-claude-ai-be93f8b001
I didn't trust Claude to code for me, but I learnt how to use it in the best way to get product-ready code.
yes AI will also "fix " thigns that arent broken :(
This hits so close to home! The marshmallows vs insulation analogy is perfect - I've been there with conflicting dependencies.
Building my first complete project from scratch - a simple daily routine checklist app. Nothing fancy, but when I deployed it and actually used it every day, that's when I felt like "okay, I'm actually building useful stuff now." There's something different about using your own creation vs just following tutorials.
The Git breakthrough is so real. I probably lost entire features 5-6 times before I finally got into the habit of committing constantly.
now that you've been through the rebuild cycle a few times, do you plan out your architecture more before coding, or do you still prefer the "build and figure it out" approach?
Trying to plan it out a bit more but I find sometimes when I do that then I get ahead of myself and forget to piece meal the content to ai
You literally described the last year of my life 😁 Struggled, but learned. I don't code. But I understand how it works. Learned a ton of stuff... I feel confident to bulid that way now. For the past 2-3 months I've been working on a pretty complex project, and I can say I did it. A friend of mine (senior dev) audited everything and apparently everyrhing is pretty much as it should be. Some files were a bit bloated with stuff I actually don't need anymore (some stuff that I planned to implement, but decided not to) and Claude didn't remove them from code just commented it out - the app still worked. We live in a really great time for people who want to create. And I'm really happy to see that there are people who are doing it this way. Good luck with your projects :)
Thanks for sharing your story. It feels nice to hear others with no coding experience or knowledge have had similar experience. The best part is that AI lets us dabble in building tools without knowing how to code while learning at the same time.
Sooner or later, you get to learn the basics and start building cool tools.
When I first got started, I had no idea how to setup Supabase, what Netlify is, or how to use APIs but thankfully everything can be learned if you're okay with countless days/hours of frustration.
Excited to see where your journey goes.
This post is incredibly relatable. I love how you detailed some of your small wins. Ctrl+C is one of mine as well! This is only my second project using AI to help me build and code, and even though I may not fully understand everything AI has instructed me to do, I like to review the code to get a basic understanding of how it goes about implementing my requested features.
For my goals (and curiosity) AI is a game changer. It’s pretty cool that I can use AI to build out an idea in a short period of time.
Feel free to follow my journey here. Feel free to follow my journey here. https://medium.com/@kcolban
Do you know how to code so when you review it, you understand what it's saying?
Kaia, this is one of the most honest and useful posts I’ve read on IndieHackers in a while and I say that as someone who gets pulled into projects after clients go through exactly what you did.
I run a SaaS dev agency, and more than half of our new clients right now are founders who tried to build their MVPs with vibe coding tools like Lovable, Cursor, or GPT-4 , and hit the same wall you described: things start off fast, but once you need stateful logic, secure auth, or just clean handoff between components… things collapse.
That insulation vs marshmallows analogy? It’s perfect. We've had people come to us with half-working codebases duct-taped together by AI, and they can’t even onboard their first user. But here’s the silver lining; every mistake you made made you better at product thinking, and that’s 10x more important than being able to hand-code everything yourself.
From our side, what we’ve learned is:
AI helps people start.
But real momentum kicks in when you pair AI with a dev or agency that understands where the blind spots are (auth, data modeling, error states, UI state drift, etc).
And you as the founder need enough technical intuition (which you’ve clearly built) to ask the right questions and review decisions, not just delegate blindly to the AI or the dev team.
The people who make it through the vibe-code crash and then rebuild with clarity? They’re the ones who become dangerous in the best way.
If you ever want someone to sanity-check your architecture or help turn your MVP into something more solid, happy to point you in the right direction. But either way, thanks for sharing this. You’re not alone in this cycle, and your rebuilds are building something way more important than just features.
thank you so much! I just launched my MPV Shareskippy.com and im so proud of wher i got it even tohugh its so basic.
I am not a programming beginner, but I also experience the "marshmallows" moment you mentioned, so as far as I am concerned, don't trust AI completely unless you already know the content very well. The more detailed the task you give AI, the more confident you will get. So I think it is important to be detailed enough.
yes step by step and details are so key!
AI can speed up coding, but strong fundamentals are key. To add, keeping a log of errors and fixes, combining AI suggestions with peer feedback, and using AI strategically for repetitive tasks can accelerate learning even more. Iterative practice and patience are where real mastery comes from.
This is an excellent suggestion. I am a firm believer in documenting everything. The real value lies not just in documenting what works, but also what breaks.
Yes — those breakdowns usually hold the biggest lessons.
Thanks for sharing. Same with me.
Have try most Vibe coding tool, from chatpgt, to Loveable, Bolt . new, Base44, Windsurf, Leap. new - to discover all are just in same loop, and got to know building big complex project without coding skill can become headache.
But in the process of it all, I saw my self learning bit by bit and becoming better, and understand how things work, and the difference between the Vibe coding tools even when i see other similar been release, they still follow almost same path.
Have got to know that any platform with their own database built-in, when you you need to move away will become problem if they dont have easy to use mcp and have proper documentation for the IDE's.
And the ones that allow you connect other database like Superbase is more easier to continue on IDE like cursor.
And building complete frontend and backend (React and ExpressJS) in any Vibe coding tool can be sweet untill you started adding more pages, and the AI lost memory of the code structure, and construct code that don't truely integreted together.
Above all, for me, it worth it as the knowledge of learning to build, and building whats in your head without needing a team, or a weekly meeting, or waiting weeks to see the 1st interface worth every penny i spend.
I beleive the tools will keep getting better and we can build as we truely wish to without much stress.
And for the mistake I made as a beginner that actually taught me a lot is not reading the output or explaination the AI generated after each task as when i started to read them, it help reduce frustration and allow me know what to do next time.
2ndly, learning all about the project stack, how the connection will work, how its been done by existing application with Chatgpt help also with knowing what to say to the AI while coding.
3rdly - Knowing changing color, and project use case anyhow while building is another headache to avoid, so i made up my mind on colors, project problem am actually solving and ask the AI to create a design system when i create the 1st or few pages.
4th. Told myself, remind myself everytime i want to use the Vibe coding tools that the AI is met to be use to create MVP not over complete or too broaden projects.
And a simple trick I use in saving credit now adays is to use Claude, or Chatgpt, or Gemini to 1st bring the Ideas to life for free so i can visualised what I'm thinking before building on other Vibecoding tools i want to go with. This help me to know how to structure the prompts and also give me the UIUX direction I can take.
I’m curious what the benefit on switching to other tools is— like which tools exactly do you use for what? And why you feel it’s better to switch than stay with Cursor
I actually prefer Lovable above all, and i started vibe coding with the platform.
Major challenge was understanding superbase must time, when working with superbase on Vibe coding platforms, they tend to sometime delete or redesign the whole project while fixing database issues which happens alot.
So I decided to try out some of the vibe coding platforms with built-in database, but still got same result.
And the general knowlegde of all this make me know the AI lack of knowledge of some details about database, and memory loss of project detail - are the issue, not really the vibe coding platform, as they're all majorly wrapper of claude.
But I prefer lovable because it get things done faster, and more easily to use then others, and more easily to use with Cursor.
With Lovable how much do you think you end up spending?
I sometimes spend like $50 to $75 monthly. but now adays none as i use the free daily credit to put togther the mvp and move it to Cursor
You have just described my whole situation with Lovable. It overpromises and under delivers. Contacting support does nothing more than give you ridiculous instructions that aren't effective. When you press, they don't do anything to help except give you more credits to blow through and not get an MVP after hundreds of hours trying. They know Lovable can't handle what you're trying to do, even though they insist they do. The proof is in the pudding. After 20 breaks and giving different instructions to get things done, I gave up on it and am now trying to find a developer to build this MVP so I don't lose the opportunity to show it and get feedback asap. I don't have a lot of money -- if any budgeted to do this -- as I thought I could get it done in Lovable. The tools just aren't there yet to fully program more complex projects. Unlike you, I don't have the time to learn these other tools. I'm not technical at all. If you know of someone who can do a two module design with persistent memory while in use, please send them my way! Good luck with your project!
Hi @Meehna. You sound like the perfect candidate for my tool. I built an AI orchestration platform that aims to solve that exact issue. As a dev myself, I wanted to create something that structures the chaos from idea → backlog → UI → backend, all the way to GitHub PR. I'm pretty proud of it and would love to get your feedback on it as a user.
Just use my tool, it will solve all your problems and make your vibe coding a walk in the park, automatic, no experince required, billion dollar tool for free, should suit your budget ;)
Hi TheAuditorTool I would like to try please provide more details or a link
Awesome Guide. will definitely try it out. Do you have a demo video ?
Hello TheAuditorTool, you sound like my guardian angel! I'd love to use your tool. Can't wait to hear from you! [email protected]
LMK how it helps you @meehna
:) You can also follow my journey here https://medium.com/@kcolban
Hi, Meehna, I can help you look into it or fix the issue you're facing if the project is within my knowledge. I use lovable and cursor for building MVP and internal dashboards for the company i work.
so i might be able to help you if you dont mind
Hi Victoria, that would be amazing! Thank you so much for offering to help me out. Here’s my contact info: [email protected]
Look forward to hearing from you 😊
Yeah, AI just isnt there yet. I found Cursor just as easy and ALOT cheaper to use than Lovable.
What type of MVP are you trying to build? I may have some ideas for you.
Bult Lovable gives the best UI then Cursor. or do you have a way around generating a clean standard UI with cursor?
I didn’t know lovable was known for a better UI do you explain the project to lovable and ask it to generate the UI and then return to you a prompt you can enter into cursor to set the UI?
Lovable makes it faster with little details to get mvp started as it will practically put a simple idea into mvp, then i go over to cursor to easily modify the details. lovable add more features or redesign screens when trying to modify some parts or some aspect. so i do modification in Cursor.
I use chat gpt to write the project flow, sometime see the catually preview on chatgpt modify it, then copy the prompts to lovable.
It’s a creative writing app that ignites creativity without overriding the writer’s voice while using AI. It’s a light build for proof of concept. It needs solid ux as writers are notoriously picky.
i find this post very relatable because i was in the exact same situation a few months ago. I started vibecoding as a complete beginner. Many of my projects kept failing so I'd quit and start a new project from scratch following the same loop over and over again without seeing actuall project. At one point i realized it would be faster and cheaper if i actually learned how to code without ai so i did ( common python knowledge and a bit of java 😅) and i recommend that to everyone so you have a bit of background to at least know what you are looking at. I reccomend visit git hub repo called roadmap so it can help you gain some coding knowledge and maybe if you want to get a deeper understanting visit build your own x where you can get tuturial on how to build some very interesting stuff like your own blockchain. In my opinion, ai coding has no limitations if you pair it with a bit of coding knowledge. Hope I helped !
Totally relate 😅 I broke my own project multiple times too while learning with AI. Now building rope hero mod apk,and I get how every rebuild teaches more than any tutorial ever could.
agreed
Totally relate 😅 I broke my own project multiple times too while learning with AI. Now building rope hero mod apk,and I get how every rebuild teaches more than any tutorial ever could.
I love this, I started the same way with ChatGPT last year, as technology got better so did my tools. Now I use ClaudeCode in the terminal and it's fantastic. It's definitely not perfect but I've learned so much and though I couldn't write this code from scratch, I've learned to read it to know if I'm on the right track or if it's going off track in left field. I have learned to ask it to strategize so I can assess the next steps or viability, as well as clarify to make sure we're on the same page. I also have it make me a checklist so I can make sure no steps get skipped, and after big messes, have learned to backup regularly (even on a daily basis if I'm making frequent changes). My favorite tool is summarizing features or functionality in .md files for AI's reference if/when needed.
Another trick I learned was to have it create me an admin page to track the ownership and permissions for imperative files because for some reason, every single time we edit a file, it defaults back to root, rendering it in draft mode (for lack of a better term). For months, I would want to pull my hair out not understanding what was causing a page to crash, after encountering the same issue over and over, I simplified the problem. Now I can check and verify on my own just in case a file was touched that I wasn't anticipating. I'm not sure if my building still counts as vibe coding as it's been over a year now, but AI has helped me make strides that I could not have done on my own.
Good luck to you in your endeavors!
I can totally relate. AI often helps me explore new areas quickly, but I still fail repeatedly because the explanations usually skip over the most basic steps.
It assumes you already know the fundamentals.
Still, going through those frustrating loops and finally solving things on my own has been incredibly educational.
yepp
Kaia, are you writing about my life? 😅 This mirrors my journey so closely it's uncanny. I also started with 'vibe coding' expectations, only to discover that real learning happens in the breakdowns. My 'learning Git the hard way' moment was thinking GitHub was developer social media
Great insights.
If I may, I would like to add one more important aspect - security.
Coding agents make all kind of mistakes. There are few functional mistakes that we immediately find because broken page does not load or because output differs from our expectation. Then we work with agent and fix it
But these vibe coding systems can also make errors related to security of your systems and security of data of your customers. You would not want sensetive data of your clients being stolen from your website and sold publically.
It's equally important to understand security related issues and how to fix them.
Fortunately there are lot of resources available, both paid and free to help fix security issue in your app.
Better even, the same vibe coding agents can help you find security issues and suggest few tools to find and fix security issues.
You just have to ask!
Yes, I am also a beginner player, but my personal thinking tends to focus on first sorting out the top-level architecture and then planning the functions. Afterwards, I asked GPT to help me write it, but there were always problems during the process. I realized that if I had zero foundation, I needed to first understand the architecture and planning, and then constrain AI to implement it within the architecture. AI often provides code that makes us think we have implemented simple functions, but in reality, it is not enough. I am currently developing my own AI product. Continuously understanding and grasping through practice, MVP is almost completed. But I still worry about potential issues after going online, and I also want to meet some friends here to exchange and learn from. I am developing an intelligent application that plans to call agents to form an organizational structure and provide solutions for humans
I started learning without AI a year ago. That was my luck. I learnt the basics and how code works.
When I wanted to build something off course my knowledge wasn't enough and I then started to use AI to get help how to write some functions. Then just combined these functions in my code to do the work.
My experience is; if you are not letting AI do all the architecture or give it big chunks of code tasks, you can use it as a software engineer.
It is also useful to ask questions about how things work and what are the best practices to make a better product for a beginner like me.
I’ve just started along the same path of VS Code, Supabase and ChatGPT. No coding experience, learning as I go and sometimes going round in an endless loop of break it, fix it!
Now I realise my real strengths are vision, content, and building the bigger Tracer7 ecosystem. So I’m definitely ok with connecting with a dev to work alongside me on this journey while I focus on my proven skill set 🤓.
Great write-up on the inevitable struggle! It really highlights how crucial the underlying 'boilerplate' and foundation is, whether you're building software or a physical product/service brand. Even something as simple as ensuring our Glassinium website performs flawlessly across all devices takes constant optimization. We had some real headaches earlier this year trying to integrate a new custom quote feature. It's a reminder that even when things feel broken, the solution is always in refining the core structure. Thanks for sharing the detailed 'what didn't' work part!
This captures the messy reality of learning to code with AI perfectly. The authentication conflict (Supabase + NextAuth) is such a classic beginner trap - AI tools often add redundant solutions without context.
Your "marshmallows for insulation" analogy is spot-on. AI gives you working code, but without understanding the architecture, you can't debug when systems clash.
From building SaaS products myself, I'd add: learn to read error logs early. AI can generate code fast, but understanding why something breaks is what separates builders from copy-pasters.
The Git realization is huge. I still see experienced developers who don't commit frequently enough and lose hours of work.
What's your next technical challenge? Database design? API integrations?
I nuked my app twice because I stacked tools I didn’t really understand (hello, auth soup). What changed was forcing myself to trace one failure to root cause before asking AI for a patch. The day I rolled back with Git instead of rebuilding from scratch was the first day I felt like a real dev.
This resonated. I also learned the hard way that AI is great at first drafts and terrible at untangling the mess it creates. Two things that finally clicked for me: learn to read the diff, and commit early/often. Git went from “annoying” to “anxiety medicine.”
I'm on the fence. Tried vibe coding to see what all the fuss was about. At first I was pretty impressed, but quickly realised that for every issue it fixed, it broke another 3. It ended up like whack-a-mole!
I'm sure it will get much better in a very short period of time, but don't give up your day jobs just yet!
Hi. Do you think current vibe coding tools have a future? Or is this just an investment bubble? There are tons of front-end generation tools out there, but their users are still primarily tech-savvy. I'm working on an aicoding product called autocoder(.cc)that can generate the front-end, back-end, and database. Honestly, it's incredibly difficult—over 100 times harder than just generating the front-end. The product is still very much in the developmental stages. I'm wondering if all this effort is worthwhile and whether I can achieve a satisfactory level within a year.
If you just keep at it, you’ll become proficient - I promise you that. The real pitfall is ending up with knowledge that’s ocean-wide but ankle-deep. Personally, I’d suggest leaning less on Cursor, or tools that do a ton of stuff without telling you, and more on ChatGPT. Use it like you’d use StackOverflow: ask for the next step, then implement it yourself. That way you’re actively learning rather than outsourcing the work. Think of ChatGPT as a pair-coder.
Really enjoyed your write-up 🙌
Especially the breakdown of what worked vs what didn’t. I’ve seen a lot of indie devs ship faster than ever with AI, but one thing that often gets missed is basic security hygiene. A single leaked key or misconfigured bucket can undo months of progress.
For folks hacking on side projects or shipping their first SaaS, a simple checklist can go a long way. We put together, a free security checklist for small projects/startups.
It’s not the full product we’re building, just a way for me to give back to the community and help indie hackers avoid the most common pitfalls. Curious, do you already use some kind of checklist or tool in your workflow to catch those "oops" moments before launch? 🔒👩💻
To not rely as much on AI suggestions, I'd suggest pushing back from time to time, and if you're a complete beginner, being brutally honest is the method you're proposing really the best course of action. Having the AI needing to explain to you what it's doing allows you to learn what it's really trying to do. Also, if you're using Cursor, Claude has a tendency to either be lazy or lie or both, so just make sure to check on it from time to time.
From my site. I am .net developer. I had to develop someting in react, where I was beginner. AI helped a lot. But frustraiting was finding bugs.
Just to put your mind at ease, I am not a begginer , I am actually a tech leader for the past 10 years, and frustrating bugs still come my way, A LOT, sometimes I debug the littlest things for hours.
Everything is a process, especially when building, if it would be easy everyone would do it.
The trick is to take pleasure in the process
Loved this. Every bug feels painful but honestly they’re the best teachers, and the truth is that breaking and rebuilding is what no one tells you about, Git will humble you lol.
Well done Kaia, go forth and prosper.
I use it always. Geenrally it is helpfull. In technology I now i feel better, in technology i am amateur, sometimes it takes 1 hour to find its bug
Great plan! Consistency really makes the difference. Keep sharing updates, I’d love to follow your progress.
I,m also agreed
thanks! you can follow my journey here https://medium.com/@kcolban
Kaia, your story resonates deeply with my own coding journey! The "marshmallows vs insulation" analogy is perfect - I experienced the exact same thing when building my loyalty card app. Started with zero coding experience, just like you, and AI tools became both a blessing and a curse.
I remember breaking my authentication system three different times while trying to integrate different services, just like your Supabase + NextAuth situation. Each rebuild taught me something new, though it felt brutal at the time. The key breakthrough for me was learning to read error logs properly and understanding when AI was actually helping vs when it was "fixing" things that weren't broken.
Your point about Git being like checkpoints is spot-on - that was my game-changer moment too. Now I commit obsessively before any major changes. What really helped me was setting up a simple staging environment where I could test AI suggestions without risking my main build.
Since launching my loyalty card app to 55k+ downloads, I've learned that the "vibe coding" approach works best when you combine it with systematic documentation. I started keeping a simple log of what each service in my stack actually does - prevents those marshmallow moments when you accidentally add conflicting systems.
Keep building! That debugging persistence you've developed is worth its weight in gold. The fact that you're questioning AI suggestions and learning to spot when it's going off track means you're already thinking like a real developer. ShareSkippy looks like a genuinely useful solution to a real problem.
Thanks! I find i need to learn how to prompt claude better and have it review its own work a lot more. Feel free to. follow my journey here https://medium.com/@kcolban
Wow, Kaia, this story hit home. Reading your “learning to code with AI” journey feels like watching reflections of my own early chaos before I built something more organized around it.
You capture something vital: vibe coding gets you moving fast, but unless you learn to read the code, understand what you own, and why things break, you’re always one dependency swap or tool switch away from everything collapsing. Your Supabase → Resend → NextAuth cycle is the classic insulation-vs-marshmallows moment: things look good until the house has no structure underneath.
What I really respect is how you didn’t bail. Three rebuilds is brutal, but you kept absorbing lessons. Learning Git early, celebrating the small wins, stopping to debug instead of copy-pasting AI solutions, those are the foundations people skim over. Your path illustrates that success with AI isn’t about eliminating failure, it’s about failure with purpose.
A thought from my side: once you feel more confident, try scaffolding in tiny “architecture check” moments, maybe a short doc, maybe a PR-view where you explicitly map out which component owns what (UI, DB, Auth), what naming and folder conventions exist, and feed that into whatever AI tools you use. It won’t prevent all breakage, but it makes future rebuilds less brutal.
Thanks for sharing this so openly. If more people built like this, messy, curious, rebuilding with clarity, the glow-ups would happen way faster for everyone.
Thanks! I think that architecture check sounds like a really good plan. I def need to implement that!
Let me know how it goes
You can also checkout ShadowGit which simplifies your Git approach while automatizing code backups
ShadowGit looks interesting. I love seeing tools that push accountability and traceability deeper into the workflow. On my side, I’ve been solving a similar pain but through GitHub itself. With ScrumBuddy, the orchestration I built bakes review discipline right into the PR flow. Every story gets decomposed into UI, backend, and testable slices, then wired into GitHub as draft PRs that the model can’t just auto-merge. The effect is less about “AI writes code” and more about “AI proposes work, humans validate.”
A different path to the same end as ShadowGit, but it shows the need we have to keep AI-assisted work auditable, safe, and genuinely useful for teams instead of turning into a trust fall.
厉害!!
Hi Kaia,
I really enjoyed reading your post — thanks for sharing your journey so honestly. I could really relate to the part where you said AI won’t stop you from failing, it just helps you fail faster. That line hit home because I’ve already felt that same cycle of breaking things, fixing them, and realizing that’s where the real learning happens.
Your story about switching back and forth between Supabase, Resend, and NextAuth also reminded me how easy it is to overcomplicate setups when you don’t fully understand what each tool does. I’ve done something similar, thinking I was simplifying but ending up with more errors instead.
I’m also a beginner in programming, and with the help of AI I’ve managed to build a small app called. It’s nothing huge, but for me it was a big step forward and gave me that “ok, maybe I am actually coding now” feeling.
— Cheers,
A fellow beginner coder
I’m going thru the same thing ugh
Man this felt so real to read. I’m not learning to code from zero but I know the exact feeling of breaking everything three times and thinking maybe I should just give up. Respect for pushing through and actually finding joy in the mess.
Thanks!
:) You can also follow my journey here https://medium.com/@kcolban
Hey, I’m a developer and working on UI with Cursor sometimes drives me crazy.
It hallucinates a lot—like the UI looks fine at first, but when I check the code it sneaks in random hex values instead of sticking to the design tokens and patterns we need for clean, reusable UI. Then I end up reviewing every line, which often feels harder than just coding it myself. Super frustrating.
That said, I mainly use Cursor for writing logic, and it’s way more reliable there than for UI.
If you’re using Cursor, my tip would be:
- Break tasks into the smallest possible pieces. Explain your feature in short, let ChatGPT expand on it, then feed Cursor the most concise version. It really likes detailed, structured instructions and works much better that way.
- Try adding docs links like if you are integrating stripe for payment find demo in stripe docs and feed it to cursor.
- Once you have a feature ready ask cursor to refactor it and make it standard as per your framework docs. This things really help.
Also a question with UI,
When you use AI tools like Cursor or Lovable, do you actually tell them how your UI should look — like your brand colors, how your buttons or inputs should appear — or is that the least important thing when you’re just trying to get an MVP working?
Would you be happier if your app looked more professional (not like every other generic prototype), while still moving fast with AI tools?
I’ve been testing something that does exactly that: you select colors from predefined tailwind palettes if you dont have defined colors, then customise basic components like button, inputs, badge, checkbox through a simple interface like adjust paddings, text size, colors (you saved earlier you see them as watches just choose and your good to go). You see a live preview of each component in real time, and then the code you use in Cursor/Lovable, just ask them to follow colors and components we made, they follows it and now app looks branded and professional.
So instead of random colors and generic UI, your app feels like your product — clean, professional, and consistent — without extra work.
Happy to hear thought on it! And honestly, I don’t really buy into the whole “AI can build your entire app in a day, even if you’re not a dev” hype. I’ve tried a bunch of these tools as a developer, and it just doesn’t hold up. So props to you for vibe-coding and actually making it work—that’s awesome.
Hi Riddhi, can we connect?
OMG, thank you so much for the tips!
I definitely need to learn more about asking cursor to refactor things and make it standard!
I tell the cursor the color scheme to use, which I find pretty easy and straightforward. I often ask GPT for recs.
:) You can also follow my journey here https://medium.com/@kcolban
That was such a refreshing read, Kaia! 🙌 Learning to code with AI really does feel like trial by fire, and your story shows the exact ups and downs beginners face. Breaking things and rebuilding from scratch is frustrating, but it’s also where the deepest learning happens. I like how you pointed out the balance between AI guidance and actually understanding the code — that’s huge. Just like finding shortcuts on Freecine Mod Apk or discovering hidden features in Freecine Mod Apk, those small wins make the journey exciting. Keep celebrating those milestones — they’re proof you’re truly becoming a coder.
Thanks!
Ill need to look up Freecine Mod APK i have never heard of it.
:) You can also follow my journey here https://medium.com/@kcolban
How can one build a SaaS without relying on AI
Learn to code lol.. but Ai can also help you learn how to code.
I am def trying to improve my coding skills.
:) You can follow my journey on that and everything else here https://medium.com/@kcolban
Thanks for the reply! Sure i'll.
I'm building a chrome extension right now, and hate that I can't use lovable or cursor to build it. I've been using the VS & GPT method for months haha.
off that seems hard! I hope you figure it out :)
Feel free to follow my journey here https://medium.com/@kcolban
Kaia, this was painfully relatable in the best way.
I made almost the same mistake chain: Supabase auth → didn’t like the default emails → jumped to Resend → Cursor “helpfully” introduced NextAuth on top. Exact same outcome: everything looked fine until logins silently failed in edge cases. Your “insulation vs marshmallows” analogy is spot on—I was also hanging drywall on a house with dessert walls.
A couple tiny things that helped me crawl out:
I wrote a dumb one-pager called “Boundaries .md”at the repo root. Three columns: owns auth, owns email, owns DB. If a tool isn’t explicitly listed, it can’t sneak in. It sounds silly, but it stopped my “oh cool, let’s just add X” moments from cascading.
Git like a seatbelt: I got in the habit of git tag pre-auth-swap before any “tool swap” refactor, and created a throwaway “spike” branch to let the AI go wild. If the spike worked, I cherry-picked; if not, I could nuke it guilt-free.
Error journaling: when a cryptic error popped, I forced myself to write one sentence: “What did I think the system was doing? What did it actually do?” It trained me to read logs instead of re-prompting the AI into bigger nails and different screwdrivers.
YouTube last-mile: I had the same experience where ChatGPT/Cursor explained the “what,” but a 7-minute walkthrough finally fixed the “how.” I’ve stopped feeling bad about mixing mediums.
Totally agree that AI helps you fail faster, but you still have to learn the shape of the system so your prompts have guardrails. My mental model now is: AI for scaffolding, me for load-bearing joints.
Thanks :)
Would you be able to share the 1 pager?
I like the scaffolding/load-bearing analogy a lot!
Feel free to follow my journey here https://medium.com/@kcolban
I had such a similar experience!
A mistake I had as a beginner was not taking the time to understand Supabase. My future-app will collect sensitive information, and my priority for the beta version I'm testing is to just get people in, without any login, and without storing users to keep everything completely anon and safe. Obviously, with no tech background, this felt so hard. I didn't understand RLS, policies kept breaking. Somehow, without YouTube or anything other than ChatGPT, I was able to just move onto a different backend, explain it properly to GPT, and recreate the tables with policies that finally worked. If I were to do it all again, I'd learn Supabase.
Small win that made me feel like I can code? Being able to find things or know where to go to look for a fix when a bug happened. Yes, debugging the bugs I created every 5 minutes was a huge win. I know, lame, but I have the confidence now to fully understand the structure of code and how to debug.
I honestly don't stop myself from relying too much on AI suggestions. In the beginning, there was lots of YouTube and learning for me. At a certain point, I realized learning by doing was the fastest way to finish. I prioritized getting my app finished, and getting a feedback loop before I look for a cofounder. Personal coding skills ended up being pushed to the back burner, especially as I thought more about tools like Lovable and how easy creating softwares should be in a few years. I don't need to code, I need to create my app.
Yes i am so lost about security and luckily my app that i am building- Shareskippy.com isnt so prone to hackers but i still need to make sure its secure!
Ah your app is so cute I'm obsessed (as a dog lover)!
thanks!! Feel free to share it and you can follow my journey building it and going through life as a new indie hacker here https://medium.com/@kcolban
Really enjoyed reading this, Kaia super relatable! My biggest beginner mistake was ignoring Git until I lost hours of progress. once I embraced version control, everything changed. A small win that made me feel like a ‘real coder’ was fixing a bug without copy-pasting AI’s answer. I think the key to not over-relying on AI is using it as a guide, but always taking time to read and understand what the code is doing.
thats amazing Im still xoing a lot of copy paste but im telling it more what to do and able to tell when its going down the wrong route.
We used ChatGpt a lot to customize a Wordpress, and that's not an easy job. First of all, for a very beginner it will be near impossible to identify the bugs. A minimum of experience and know-how is necessary.
Yes debugging is the worst!
Feel free to follow my journey here https://medium.com/@kcolban
Thanks for sharing this. I resonate with a lot of it (especially trying to migrate from Supabase to other databases/auth)
good luck!
Since you’ve tried multiple AI tools, do you feel they’re better for beginners (getting something working) or for more advanced devs (speeding up what they already know)?
advanced, but I was a complete beginner and still managed to create Shareskippy.com
I had a look at your site and I’m really impressed with the work you’ve done. The design is very attractive — especially the How to Use, FAQ, and Safety Guidelines pages. You clearly have talent — AI can only act as a guide, but you did a truly magnificent job bringing everything together.
I have been using Kanu Ai for this but looking for more
Ive never even heard of that!
Hi, great post! I'm really interested in your experience. Just curious, did you have any prior coding experience before you started learning from scratch with AI, or were you completely new to programming when you began? It would be helpful to know your starting point to understand how the process worked for you.
brand new! i had to ask chatgpt how to open the terminal LOl but i just launched my MVP! Shareskippy.com
Reading this took me right back to those first few “break-everything cycles” I lived through, not because AI failed, but because I hadn’t yet built the bridge between AI suggestions and my own mental model of the code. Your marshmallows vs insulation analogy is absolutely golden. AI gives you marshmallows, and until you learn to feel the real insulation, you'll keep getting stuck.
What really stood out is how you treated each build–break cycle not as a setback, but as calibration. That’s the secret sauce right there, equipping your brain to recognize when AI is tricking you versus when it’s actually building something. You didn’t just collect answers, you built an internal debugger.
When I first started orchestrating with Claude (I wrote articles on my experience with it on my Substack), I leaned on prompts that tried to do everything in one go. Then I learned to slice it instead: break a feature into discrete logical units, validate each piece, and only then chain them together. Your switchbacks are exactly those slice-and-validate loops in action.
You’ve done the unsexy but high-yield work, Git as checkpoints, terminal shortcuts, even Ctrl+C magic. That tooling groundwork is what lets you fall down less painfully next time. Beyond that, leaning on YouTube to fill in conceptual gaps is such a smart manoeuvre; it grounds AI suggestions in reality.
Your closing line should be required reading for anyone claiming AI replaces fundamental skills. That’s exactly how developers upshift into orchestration mindset: keeping oversight close enough to notice when models diverge, and still knowing how to walk the code back.
You already have the instincts of a seasoned developer: trust in the tool, but question the output. And that means every rebuild made you a better architect.
can you link your article here?
If you have any other tooling groundwork recs please LMK!
Couple of small but high-leverage ones I’ve leaned on: set up a linter/formatter that runs on save so you don’t waste cycles debugging style drift, and wire a test harness early. Even just a couple of smoke tests, so you can sanity-check AI outputs without eyeballing every line. Past that, a scratchpad file in your repo is underrated; I use it as a dumping ground for half-baked snippets Claude suggests, which keeps junk out of main while still giving me a record of experiments I can revisit. None of this is glamorous, but it’s the scaffolding that makes the break–fix cycles survivable.
So smart thank you
Here's my article on how I jailed Claude: https://www.indiehackers.com/post/why-i-put-claude-in-jail-and-let-him-code-anyway-fcac38aea8
I also wrote on my experience with building a compiler with Claude: https://www.indiehackers.com/post/i-built-a-compiler-in-five-days-with-claude-ai-be93f8b001
OMG I love this! Thank you so much!!!
:) You can also follow my journey here https://medium.com/@kcolban
Thank you so much for sharing, I will definitely read through your journey - it's so important to note it down. I am a firm believer in documenting everything. The real value lies not just in documenting what works, but also what breaks.
Thanks for sharing your messy first coding experience with AI. I found it interesting how you learned what AI helps with and what makes it worse. It's helpful to know about breaking things before it clicks.
Yeah i think breaking is just part of the process but i was finally able to launch my MVP! Shareskippy.com
This article on learning to code with AI is really insightful—especially the points about prompt engineering and learning from failure.
As an indie developer, it reminds me that the journey is just as important as the outcome. I’m working on photocollagemaker.io, an online photo collage tool, and these lessons inspire me to keep improving both my skills and the product.
yes im building Shareskippy.com and im really trying to think about it as a journey as well.
Thank you. Still so much to learn
Yes 100%
:) You can also follow my journey here https://medium.com/@kcolban
While I'm not a beginner, however, I will share something to always keep top of mind and that's using git repos to manage your changes/versioning. It sounds like your "vibe coding" so I think it's even more important since you may not truly know how your code works under the hood, whether it's react, vue, python, or whatever language, with vibe coding you need to be even more careful (in my opinion) and ensure you follow solid git practices even if you're the sole builder.
While using AI to write your code is where things are headed, I would say it still behooves one to learn how to write code as AI often just agrees or says things like "You're absolutely right" or "That's a great idea!" I think that's the challenge if you don't have the traditional S/W Engineering background you run the risk of whatever you built looks good on the outside, but is fragile on the inside or because you didn't know how to secure you're app you roll it out with gaping holes or something exposed that shouldn't have been.
That's just my $0.02
Yeah thats the issue: Ai always pretends to know the answer even if it doesn't.
Also It took me way to long to realize the importance od git repos! but now im so anal about it and was finally able to launch my mvp Shareskippy.com
Really enjoyed this — especially the “marshmallows for insulation” analogy 😅. I’ve been through the same cycle while building Prontix, an AI-powered meeting aggregator. Early on, I leaned heavily on AI tools, broke things multiple times, and had to backtrack just to understand the basics.
One thing that’s helped me a ton: using tools like Cursor and ChatGPT not just to code, but to learn how to write better prompts. That skill transfers directly into tools like Lovable or Bolt, where clear, structured prompting = better output. It’s like learning a new “language” that makes AI actually useful rather than chaotic.
Totally agree with you that AI doesn’t stop you from failing — it just helps you fail faster and (hopefully) learn quicker.
Have you found your balance yet between “vibe coding” and slowing down to dig into fundamentals?
Yes sometimes I’ll ask ChatGPT “help me write a prompt to give to cursor to get it to do Xxxxx”
Brilliant! AI engines are just better at this part than humans! Nice work!
This comment was deleted a month ago