From No-Code to Code: How AI Transformed My Coding Journey
My story of learning to code, failing multiple times, and finally finding my way with the help of AI.
Every time I opened a programming book or tried to set up a coding environment, I felt like I was staring at an insurmountable wall. For 15 years, this wall kept me from turning my interest in programming into reality. I'd start learning, get stuck, and give up. This cycle repeated until AI tools came along. They changed everything. This is how I went from constantly struggling with code to building stuff, thanks to AI. And if it worked for me, it might just work for you, too.
My early struggles with coding
Looking back, my journey into programming was marked by numerous starts and stops. Every endeavor has its obstacles, and mine was no exception.
For over 15 years, software has been an integral part of my professional life. In my first job, I was part of a bank's program that overhauled its core banking system. This is where I got to see up close the inner workings of a bank, and one of the major programming languages used was Java.
I became intrigued.
But fascination soon met reality.
Despite my growing interest, each attempt to learn programming felt like navigating a labyrinth without a map. The complexity was overwhelming, the syntax was foreign, and without guidance, I often repeatedly hit dead ends. I started to think that my brain was not built for programming.
My academic background didn't make the path any smoother. With a degree in management and marketing, I was venturing far outside my comfort zone. Conversations with friends and observing my surroundings suggested that a formal degree might bridge the gap. So, still wrestling with doubt, I enrolled in a master's program in IT.
I enjoyed the classes, the assignments, the group work. However, the theoretical focus and classroom environment didn't equip me with the practical skills I desperately sought. I realized that despite holding a degree, I couldn't build software on my own, at least not something I was proud to release into the world.
It was a sobering realization. I had invested significant time, effort, and resources, yet the ability to create remained elusive. The maze of programming seemed more convoluted than ever.
Reflecting on my journey, here are the key attempts I've made to learn programming over the years:
First attempt: Java, but it didn't last long. My mistake was to buy a big fat book and try to learn from it—a big no. The book was heavy on theory and printed code, which feels weird nowadays.
Second attempt: During my studies, I had to learn PHP, HTML, and CSS. It was fun, but I mostly learned only to complete my assignments (I named one of my projects "Airline Reservation System," a two-page site with half-ass logic and a cluttered UI).
Third attempt: I tried Python, lured by the hype around data science. However, setting it up on my machine was a nightmare. I spent hours wrestling with configurations. By the time I got it running, my enthusiasm had waned.
Fourth attempt: No-code with Webflow, Airtable, Zapier, Make, and others, with some sprinkles of JavaScript here and there. A new hope (see that Star Wars analogy here? same story).
Fifth attempt: JavaScript. Firstly, I started with vanilla JS. However, once the AI madness around ChatGPT began, I switched entirely to SvelteKit. My frustration levels decreased significantly.
In the following section, I will outline the journey that initiated my programming experience the most (covering the 4th and 5th attempts).
Finding solace in no-code platforms
While traditional coding proved challenging, I found solace in no-code.
No-code platforms were a breath of fresh air. They allowed me to build and create without the steep learning curve of traditional coding.
I started with Webflow. Even though I had some experience with WordPress, using Webflow was a whole new ball game. It allowed me to work visually, which aligns with my natural inclination. The best part about Webflow is its ability to generate fully functional HTML, CSS, and JavaScript, a feature many other site builders lack.
Building sites was an exciting experience. Each project allowed me to express my urge to create and learn new skills.
After several builds, I expanded my no-code stack:
Airtable - basically, I could do more data manipulation than in Webflow CMS
Make (Integromat), Zapier - for integrations, the “glue”
This stack was fun and felt like actual software development because I had to think about both frontend and backend and how to integrate them.
However, I soon became annoyed by the complexity of the stack, the limits, and the rising costs of these tools.
While no-code tools gave me the confidence to create, their limitations restricted what I could do, pushing me to advance further into actual coding.
It was time to follow a new path.
Bridging the gap - transitioning from no-code to code
What I liked about Webflow and no-code was that I could extend these platforms with my own custom scripts. This is where I started to code more. I wrote (and copied from others, then dissected) custom scripts for Webflow and Airtable, handling data and automation.
Often, it was just scripts for changing the design by hiding or showing (toggling) stuff on the page. Other times, it was to manipulate the data I fetched from an external API for further processing within Airtable.
An entire industry of agencies and freelancers solely focuses on extending these platforms with code. Finsweet, with its Attributes or Wized products, does some amazing things to Webflow.
As I worked more with these scripts, I have noticed that learning to code was actually fun and not as hard. I delved more into JavaScript (partially JQuery), learning about different methods through tutorials and writing various scripts.
Once the scripts became too complex to maintain within these platforms, I switched entirely to code mode—no more no-coding.
I stuck with JavaScript. Along with HTML and CSS, it's one of the main building blocks of a web application, and I was already familiar with its syntax.
Choosing the right framework
After studying JavaScript documentation and watching tutorials, I began romancing with frameworks.
Building software with JavaScript is fun, no doubt, and the language has evolved over the years. It has evolved so much that, in some instances, people have refactored their code into vanilla JS (moving away, for example, from React).
However, I was too busy to get into all of its specifications. I also learned from past attempts: don't get bogged down in the details; make creating and learning as enjoyable as possible.
The other explanation is that I wanted to create things for myself; I never planned to become a software developer working and building for others. Therefore, the rationale here was simple: learn fast, build even faster, use easy-to-learn tools, and have fun. I had absolutely no mental capacity for religious discussions about the details of those frameworks and which one is the best (there is no such thing as "the best framework").
I realized I needed tools to manage complexity without drowning in it, so I began to consider using a framework.
After getting comfortable with JavaScript basics, I had to decide which framework to use.
The JavaScript ecosystem is vast, and the number of frameworks available can be overwhelming. Each has its own philosophy, community, and learning curve. The debates over which framework is superior are intense and, frankly, a bit intimidating for someone like me.
I researched the most popular options: React, Vue.js, and Svelte. These frameworks are great for abstracting away some of the complexities, allowing developers to focus on building features rather than reinventing the wheel (although they create some of the complexities on their own).
After reading articles, watching YouTube tutorials, and sifting through Reddit discussions, SvelteKit resonated with me.
How I chose the framework is an article on its own. To keep it short here, my main reasons for choosing Sveltekit were:
Intuitive syntax - it's clean and resembles JS and HTML
Less boilerplate - it reduced the amount of code needed to accomplish a task, React and Vue.js appeared more verbose
Community - The community is of a decent size, supportive, and the resources are quite helpful
While React dominates the corporate world and offers more job opportunities, Svelte and SvelteKit are gaining traction among a different crowd. These lesser-known frameworks are often favored by makers, startups, and developers who appreciate a minimalist approach. (Although, that might not be true anymore, people know Sveltekit).
SvelteKit: A modern web development framework that allows for efficient and easy building of full-stack applications, offering a simpler alternative to more complex frameworks like React and Vue.js.
Using SvelteKit simplified many of the complexities I faced with JavaScript, making the development process more intuitive.
Yet challenges remained.
I could not build anything from scratch other than a simple single-page “app” or a collection of scripts. All the tutorials started to wear on me. Finding the specific answer to a question was not always easy or fun.
I spent hours scouring Stack Overflow and Reddit for answers to my specific questions. Often, I found bits and pieces of solutions but struggled to assemble them into a cohesive whole.
Then came November 30th, 2022.
Embracing AI-companions: a new approach to learning
On that day, a lot changed regarding how I approached learning to code.
When ChatGPT was released, it felt like a door had opened. Suddenly, I wasn't alone in my coding journey. The AI was like a patient mentor, available anytime unless I hit the occasional response limit. Coding no longer felt like an isolating struggle.
With the AI at my side, I could:
Learn concepts quickly - No more sifting through endless SEO-optimized articles that danced around my questions.
Generate code - I could explain what I needed, and the AI would generate code snippets or entire components. This saved me countless hours of trial and error.
Debug gracefully - Perhaps the most significant benefit. Instead of getting stuck on a single issue for days, I could ask the AI to pinpoint errors and suggest fixes. Progress, not frustration.
The barrier to building an entire full-stack web application has been removed. It was the missing part, and it was also the most important one.
I began with the free version of ChatGPT, amazed by how much assistance it provided. Soon, I upgraded to ChatGPT Plus to access advanced features and subscribed to GitHub Copilot for in-editor code suggestions.
My code output 10x'ed (okay, the bar was low, but hey).
As months passed, new tools emerged, and new models were released. Some were good, others just a distraction. Collectively, though, their impact was enormous.
My current AI-powered development setup includes:
ChatGPT Plus: For brainstorming and tackling complex coding challenges. The advanced models (specifically the newly released O1 and O1-mini) offer nuanced insights that enhance my understanding.
Claude AI Pro: I switch between ChatGPT and Claude AI for learning, problem-solving, debugging, and general coding assistance. Sometimes, Claude handles my code better, and other times, it's ChatGPT.
Cursor AI: This AI-enhanced code editor has replaced VS Code for me. With AI integrated natively, Cursor AI assists with tasks the others can't handle, especially when dealing with large codebases. It knows my entire codebase, eliminating the need to copy and paste code into chat windows.
The tools didn't replace the need to learn, though. They merely bridge the gap between understanding concepts and applying those.
Reflections and advice for fellow strugglers
If you've tried learning programming but never quite got there—especially while juggling a full-time job—remember:
Leverage AI to accelerate learning - AI can bridge knowledge gaps and speed up your development process, just as they did for me.
Choose a framework that fits *you* - Find one that resonates with your learning style and project needs. For me, SvelteKit was the perfect match.
Prioritize Action Over Perfection - Don't let the pursuit of perfection hinder your progress. Start building, make mistakes, and learn along the way.
One more piece of advice: build projects. To escape the endless loop of tutorials, I decided to create something tangible—a job board (what else). This beginner-friendly project allowed me to apply the techniques and skills I'd learned, solidifying my understanding.
I may not label myself a programmer or developer, which might be premature and unfair to seasoned professionals. Instead, I see myself as a builder and maker who is constantly learning and creating.