<?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: Deolawage</title>
    <description>The latest articles on DEV Community by Deolawage (@deolawage).</description>
    <link>https://dev.to/deolawage</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%2F1224008%2F2318d198-5157-434e-b366-f6ab0967d41d.png</url>
      <title>DEV Community: Deolawage</title>
      <link>https://dev.to/deolawage</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/deolawage"/>
    <language>en</language>
    <item>
      <title>I Built MarkDump During SIWES: My Experience Building a Marketplace with JavaScript.</title>
      <dc:creator>Deolawage</dc:creator>
      <pubDate>Thu, 15 Oct 2026 15:50:58 +0000</pubDate>
      <link>https://dev.to/deolawage/i-built-markdump-during-siwes-my-experience-building-a-marketplace-with-javascript-4h8l</link>
      <guid>https://dev.to/deolawage/i-built-markdump-during-siwes-my-experience-building-a-marketplace-with-javascript-4h8l</guid>
      <description>&lt;p&gt;My experience building a marketplace with vanilla JavaScript and Afribase during my Students Industrial Work Experience Scheme.&lt;/p&gt;

&lt;p&gt;Hello, Earth!&lt;/p&gt;

&lt;p&gt;During my Students Industrial Work Experience Scheme (SIWES), I worked on a project called MarkDump, an online marketplace where users can upload products for others to browse.&lt;/p&gt;

&lt;p&gt;The idea was straightforward: build a marketplace where people could list their products, discover items, and eventually buy and sell through the platform.&lt;/p&gt;

&lt;p&gt;I was the only developer working on it, using HTML, CSS, and vanilla JavaScript for the frontend. For the backend, I eventually settled on Afribase.&lt;/p&gt;

&lt;p&gt;It sounded like a straightforward project when I started thinking about the features.&lt;/p&gt;

&lt;p&gt;A product form. A product grid. A cart. A wishlist. A database to store everything.&lt;/p&gt;

&lt;p&gt;But this was my first time working on something like this, and I quickly realised that knowing how to build individual features was different from putting an entire application together.&lt;/p&gt;

&lt;p&gt;There was a lot to figure out, and one of my biggest challenges wasn't even the backend.&lt;/p&gt;

&lt;p&gt;It was organising my JavaScript.&lt;/p&gt;

&lt;p&gt;Starting with the frontend&lt;br&gt;
I started with the part I was more familiar with: the interface.&lt;/p&gt;

&lt;p&gt;I worked on the navigation, hero section, product grid, and different sections of the homepage. I also built a modal where users could enter product details and upload product images.&lt;/p&gt;

&lt;p&gt;Gradually, MarkDump started looking like an actual marketplace.&lt;br&gt;
Products had somewhere to appear. The form had somewhere to collect information. The interface was beginning to take shape.&lt;/p&gt;

&lt;p&gt;But making a website look like a marketplace and making it function like one are two different things.&lt;/p&gt;

&lt;p&gt;I needed to figure out how the product data would be managed, how the form would work, and how products would move from the form into the database and back onto the page.&lt;/p&gt;

&lt;p&gt;Then there were other features to consider, such as the cart and wishlist.&lt;br&gt;
Each feature introduced new logic, and I had to think about how it would fit into the application.&lt;/p&gt;

&lt;p&gt;That was when I began to appreciate how much thought goes into building something beyond its appearance.&lt;br&gt;
My biggest challenge: organising the JavaScript&lt;br&gt;
This was probably the most challenging part of building MarkDump.&lt;br&gt;
As I added more features, I had to think carefully about where the different pieces of JavaScript should live and how they should communicate.&lt;/p&gt;

&lt;p&gt;I didn't want everything sitting in one enormous file with functions doing unrelated things.&lt;br&gt;
I started exploring different approaches to organising my code, including classes, factory functions, and the module pattern.&lt;/p&gt;

&lt;p&gt;I created a Product class to represent products and a ProductManager to handle product-related operations. I also worked on a DisplayController to handle rendering products on the page.&lt;br&gt;
Each part had a responsibility.&lt;/p&gt;

&lt;p&gt;The product representation didn't need to worry about how a product card looked in the browser. The display logic didn't need to handle every aspect of managing product data.&lt;br&gt;
At least, that was the direction I wanted to take.&lt;/p&gt;

&lt;p&gt;The difficult part was figuring out how to make these pieces work together without making the application unnecessarily complicated.&lt;/p&gt;

&lt;p&gt;Sometimes, I had to stop and reconsider how I had structured something. Other times, I needed to think through which part of the application should be responsible for a particular operation.&lt;/p&gt;

&lt;p&gt;I was learning the concepts while trying to apply them to a real project.&lt;/p&gt;

&lt;p&gt;That made the experience different from simply reading about JavaScript classes or factory functions.&lt;/p&gt;

&lt;p&gt;Instead of only asking myself what a particular concept meant, I had to ask questions like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does this functionality belong in this class?&lt;/li&gt;
&lt;li&gt;Should this module be responsible for managing the data or displaying it?&lt;/li&gt;
&lt;li&gt;How should these parts communicate?&lt;/li&gt;
&lt;li&gt;Am I making this unnecessarily complicated?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I didn't always have immediate answers.&lt;br&gt;
But I kept working through the problems.&lt;br&gt;
MarkDump taught me that knowing JavaScript syntax and knowing how to organise an application are two different skills.&lt;/p&gt;

&lt;p&gt;I'm still developing both, but building this project gave me a reason to think more deeply about the second one.&lt;/p&gt;

&lt;p&gt;**&lt;br&gt;
Connecting the frontend to Afribase**&lt;/p&gt;

&lt;p&gt;Once I had the frontend taking shape, I needed somewhere to store product data.&lt;br&gt;
I eventually chose Afribase and set up a database table for products.&lt;/p&gt;

&lt;p&gt;Afribase is a backend and hosting platform that provides developers with tools such as PostgreSQL databases, authentication, and file storage without having to assemble every part of the backend infrastructure themselves. Afribase&lt;br&gt;
It's also a relatively new platform, currently in beta, which made trying it out an interesting part of my experience. Afribase&lt;br&gt;
I chose Afribase for MarkDump because I needed a way to store product information and retrieve it from my frontend.&lt;/p&gt;

&lt;p&gt;I created a database table for products, with fields for the product name, description, price, category, quantity, images, seller, location, and creation date.&lt;/p&gt;

&lt;p&gt;Then I connected my JavaScript application to the database.&lt;br&gt;
I tested the connection, queried the products table, and eventually managed to insert a product successfully.&lt;br&gt;
Seeing that work was satisfying.&lt;/p&gt;

&lt;p&gt;The product information wasn't just sitting in a JavaScript object anymore. I could send it to the backend and store it in the database.&lt;/p&gt;

&lt;p&gt;You can check out Afribase here: &lt;a href="https://useafribase.app/" rel="noopener noreferrer"&gt;https://useafribase.app/&lt;/a&gt;.&lt;br&gt;
But getting the database connection working was only one part of the process.&lt;/p&gt;

&lt;p&gt;I still needed to make sure the application could save products, retrieve them, and display them correctly.&lt;/p&gt;

&lt;p&gt;That meant thinking about the entire flow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A user enters product information.&lt;/li&gt;
&lt;li&gt;The application collects that information.&lt;/li&gt;
&lt;li&gt;The data is sent to the backend.&lt;/li&gt;
&lt;li&gt;The database stores it.&lt;/li&gt;
&lt;li&gt;The application retrieves the product and displays it in the marketplace.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Every step matters.&lt;br&gt;
If a product is saved successfully but doesn't appear on the page, something still needs investigating. If the application retrieves the product but the display logic doesn't handle the data correctly, the user still won't see what they expect.&lt;br&gt;
Working through these different parts helped me understand why connecting a frontend to a backend involves more than simply making a request.&lt;/p&gt;

&lt;p&gt;The different pieces have to work together.&lt;/p&gt;

&lt;p&gt;The records included information such as the product name, description, price, category, quantity, images, seller, location, and creation date.&lt;/p&gt;

&lt;p&gt;Then I had to connect the application to the database.&lt;br&gt;
I tested the connection, queried the products table, and eventually managed to insert a product successfully.&lt;br&gt;
Seeing that work was satisfying.&lt;/p&gt;

&lt;p&gt;The data was no longer limited to what I had manually created in JavaScript. I could send product information to the backend and store it in the database.&lt;/p&gt;

&lt;p&gt;But getting the connection working was only one part of the process.&lt;/p&gt;

&lt;p&gt;I still needed to make sure the application could save products, retrieve them, and display them correctly.&lt;br&gt;
That meant thinking about the entire flow:&lt;br&gt;
A user enters product information.&lt;/p&gt;

&lt;p&gt;The application collects that information.&lt;br&gt;
The data is sent to the backend.&lt;br&gt;
The database stores it.&lt;br&gt;
The application retrieves the product and displays it in the marketplace.&lt;/p&gt;

&lt;p&gt;Every step matters.&lt;br&gt;
If the product is saved successfully but doesn't appear on the page, something still needs investigating. If the application retrieves the product but the display logic doesn't handle the data correctly, the user still won't see what they expect.&lt;/p&gt;

&lt;p&gt;Working through these different parts helped me understand why connecting a frontend to a backend involves more than simply making a request.&lt;/p&gt;

&lt;p&gt;The different pieces have to work together.&lt;br&gt;
Getting familiar with asynchronous JavaScript&lt;br&gt;
Connecting MarkDump to Afribase also meant working with asynchronous JavaScript.&lt;/p&gt;

&lt;p&gt;I had to start understanding how async and await fit into the application and how database operations affect the flow of execution.&lt;/p&gt;

&lt;p&gt;For example, retrieving products from the backend takes time. The application needs to account for that before trying to use the returned data.&lt;br&gt;
This became particularly important when working with product-related operations.&lt;/p&gt;

&lt;p&gt;I had to think about when data would become available, where I needed to wait for a result, and how the rest of the application should respond.&lt;br&gt;
I was learning these concepts while implementing them, so there was a lot to think through.&lt;/p&gt;

&lt;p&gt;What I appreciated was that I wasn't learning asynchronous JavaScript in isolation. I had an actual reason to understand it.&lt;br&gt;
I needed it to help MarkDump work.&lt;/p&gt;

&lt;p&gt;And that made the concepts more meaningful to me.&lt;br&gt;
What MarkDump can do right now&lt;br&gt;
MarkDump isn't finished yet, but it isn't just a static design either.&lt;/p&gt;

&lt;p&gt;At its current stage, users can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Upload products to the marketplace.&lt;/li&gt;
&lt;li&gt;Browse available products.&lt;/li&gt;
&lt;li&gt;Add products to their cart.&lt;/li&gt;
&lt;li&gt;Add products to their wishlist.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are working parts of the application that I've had to build and connect.&lt;/p&gt;

&lt;p&gt;There are also features I haven't completed yet, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User authentication.&lt;/li&gt;
&lt;li&gt;Payments.&lt;/li&gt;
&lt;li&gt;Order management.&lt;/li&gt;
&lt;li&gt;Drops.
And the UI needs a bit, more work.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I still have work to do before MarkDump can offer the complete experience I originally envisioned.&lt;br&gt;
I'm mentioning this because I don't want to present the project as something it isn't.&lt;/p&gt;

&lt;p&gt;Building an application involves making progress, identifying what's missing, and continuing to work towards the intended result.&lt;/p&gt;

&lt;p&gt;MarkDump is still a work in progress, and I'm learning from that process.&lt;/p&gt;

&lt;p&gt;The biggest lesson: this was my first time&lt;br&gt;
Looking back, what stands out most isn't one particular feature or a single moment when something finally worked.&lt;br&gt;
It's the experience of working on an application like this for the first time.&lt;/p&gt;

&lt;p&gt;Before MarkDump, I could learn a concept, practise it, and move on to the next lesson.&lt;/p&gt;

&lt;p&gt;With this project, the concepts started coming together.&lt;br&gt;
I had to think about the interface, application logic, data, database operations, and how everything connected. I had to make decisions about how to organise my code and figure out what to do when something wasn't working as expected.&lt;br&gt;
I couldn't treat each feature as an isolated exercise because the features had to work together.&lt;br&gt;
That was a different experience.&lt;/p&gt;

&lt;p&gt;I also began to understand that building an application requires more than knowing which methods to use or how to write a particular function.&lt;/p&gt;

&lt;p&gt;You have to think about the structure of the application.&lt;br&gt;
You have to decide where responsibilities belong.&lt;br&gt;
You have to understand how data moves between different parts of the system.&lt;/p&gt;

&lt;p&gt;And when something breaks, you have to investigate instead of assuming you know the answer.&lt;/p&gt;

&lt;p&gt;I didn't suddenly become an expert by building MarkDump. There are still plenty of things I need to learn, and I know there are better ways to approach some of the problems I've encountered.&lt;br&gt;
But I now have practical experience to build on.&lt;/p&gt;

&lt;p&gt;I've had to take concepts I've been learning and apply them to something bigger than an individual exercise.&lt;/p&gt;

&lt;p&gt;For me, that has been one of the most valuable parts of the experience.&lt;/p&gt;

&lt;p&gt;What's next for MarkDump?&lt;/p&gt;

&lt;p&gt;There are still features to build, problems to solve, and decisions to make.&lt;/p&gt;

&lt;p&gt;Authentication, payments, order management, and Drops remain on my list. I also want to continue improving the way the application is structured as I learn more.&lt;/p&gt;

&lt;p&gt;But I'm glad I took on the project during my SIWES.&lt;/p&gt;

&lt;p&gt;It gave me the opportunity to work on something substantial, challenge myself, and discover areas where I need to improve.&lt;/p&gt;

&lt;p&gt;Most importantly, it showed me what happens when the things you learn individually have to work together in an actual application.&lt;br&gt;
I'm still learning JavaScript. I'm still figuring out application architecture. And I'm still working towards becoming a better developer.&lt;/p&gt;

&lt;p&gt;MarkDump is one step in that journey.&lt;br&gt;
It isn't a story about building the perfect application on the first attempt.&lt;/p&gt;

&lt;p&gt;It's a story about taking on something new, working through the challenges, and learning along the way.&lt;/p&gt;

&lt;p&gt;And since this was my first time working on a project like this, I'm looking forward to seeing how much better I can make it.&lt;/p&gt;

&lt;p&gt;For now, there's still work to do.&lt;/p&gt;

&lt;p&gt;Back to the code. 😭&lt;/p&gt;

&lt;p&gt;Yeah, here is a list of Technologies used&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend: HTML, CSS, vanilla JavaScript&lt;/li&gt;
&lt;li&gt;Backend and database: Afribase-&lt;a href="https://useafribase.app/" rel="noopener noreferrer"&gt;https://useafribase.app/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Live demo: &lt;a href="https://deolawage.github.io/MarkDump/" rel="noopener noreferrer"&gt;https://deolawage.github.io/MarkDump/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Source code: &lt;a href="https://github.com/Deolawage/MarkDump" rel="noopener noreferrer"&gt;https://github.com/Deolawage/MarkDump&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>marketplace</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Classes, Objects, Constructors, or Factory Functions — Which One Should I Use? 🤔</title>
      <dc:creator>Deolawage</dc:creator>
      <pubDate>Mon, 28 Sep 2026 11:33:39 +0000</pubDate>
      <link>https://dev.to/deolawage/classes-objects-constructors-or-factory-functions-which-one-should-i-use-noe</link>
      <guid>https://dev.to/deolawage/classes-objects-constructors-or-factory-functions-which-one-should-i-use-noe</guid>
      <description>&lt;p&gt;Hello, World! 👋&lt;/p&gt;

&lt;p&gt;I've been learning JavaScript for a while now, and recently I've been spending more time with objects, constructors, classes, and factory functions.&lt;/p&gt;

&lt;p&gt;At first, I thought I just needed to understand what each one does.&lt;/p&gt;

&lt;p&gt;Now I understand them a little better...&lt;/p&gt;

&lt;p&gt;And somehow, that has created another problem. 😂&lt;/p&gt;

&lt;p&gt;When am I actually supposed to use each one?&lt;/p&gt;

&lt;p&gt;From what I've learned so far:&lt;/p&gt;

&lt;p&gt;Objects can hold data and behavior.&lt;br&gt;
Constructors can be used to create multiple objects with similar properties and methods.&lt;br&gt;
Classes provide another way of creating objects and are useful for things like inheritance.&lt;br&gt;
Factory functions can create and return objects without using new.&lt;/p&gt;

&lt;p&gt;Okay, I understand that.&lt;/p&gt;

&lt;p&gt;But when I'm actually building something, how do I decide?&lt;/p&gt;

&lt;p&gt;For example, let's say I need to create multiple objects with similar properties and methods.&lt;/p&gt;

&lt;p&gt;I could use a class.&lt;/p&gt;

&lt;p&gt;I could use a constructor function.&lt;/p&gt;

&lt;p&gt;I could use a factory function.&lt;/p&gt;

&lt;p&gt;So... which one do I pick? 😭&lt;/p&gt;

&lt;p&gt;And then another question came to my mind.&lt;/p&gt;

&lt;p&gt;Can I use more than one?&lt;/p&gt;

&lt;p&gt;Suppose I'm working on a bigger project.&lt;/p&gt;

&lt;p&gt;Could I have something like:&lt;/p&gt;

&lt;p&gt;A class for one type of object&lt;br&gt;
A factory function for another&lt;br&gt;
Plain objects for some application data&lt;/p&gt;

&lt;p&gt;Or should I generally try to stick to one approach?&lt;/p&gt;

&lt;p&gt;I don't know if mixing them is perfectly normal or if I'm just creating unnecessary complexity.&lt;/p&gt;

&lt;p&gt;So I'm asking experienced developers:&lt;/p&gt;

&lt;p&gt;How do you decide?&lt;/p&gt;

&lt;p&gt;Do you have a rule of thumb for choosing between classes, constructors, and factory functions?&lt;/p&gt;

&lt;p&gt;And if you've used more than one approach in the same project, what made you choose each one?&lt;/p&gt;

&lt;p&gt;I'm not looking for someone to tell me “just use X.”&lt;/p&gt;

&lt;p&gt;I'm trying to understand the reasoning behind the choice.&lt;/p&gt;

&lt;p&gt;Right now, I'm learning the syntax.&lt;/p&gt;

&lt;p&gt;I want to start learning how developers actually make these decisions when building real projects.&lt;/p&gt;

&lt;p&gt;Would love to hear your thoughts.&lt;/p&gt;

&lt;p&gt;Thanks! 🙏&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Let's See How Far I Can Go: A journal of the things I'm building, learning, exploring, and figuring out along the way.</title>
      <dc:creator>Deolawage</dc:creator>
      <pubDate>Sat, 26 Sep 2026 11:42:34 +0000</pubDate>
      <link>https://dev.to/deolawage/lets-see-how-far-i-can-go-a-journal-of-the-things-im-building-learning-exploring-and-4kl</link>
      <guid>https://dev.to/deolawage/lets-see-how-far-i-can-go-a-journal-of-the-things-im-building-learning-exploring-and-4kl</guid>
      <description>&lt;p&gt;Hello, World. I’m Starting to Share the Journey.&lt;/p&gt;

&lt;p&gt;I've spent a lot of time learning things quietly.&lt;/p&gt;

&lt;p&gt;Writing code.&lt;br&gt;
Breaking code.&lt;br&gt;
Starting projects.&lt;br&gt;
Abandoning some.&lt;br&gt;
Coming back to others.&lt;br&gt;
Having ideas I thought were brilliant at 2 a.m. and questionable by morning. 😭&lt;/p&gt;

&lt;p&gt;And for a long time, most of that stayed in my head.&lt;/p&gt;

&lt;p&gt;I think it's time to change that.&lt;/p&gt;

&lt;p&gt;So, hello, World.&lt;/p&gt;

&lt;p&gt;This is the beginning of a journal.&lt;/p&gt;

&lt;p&gt;Not a journal in the traditional sense, but a public record of things I'm building, learning, exploring, and thinking about.&lt;/p&gt;

&lt;p&gt;Some of it will be about technology.&lt;/p&gt;

&lt;p&gt;Some of it will be about building a business.&lt;/p&gt;

&lt;p&gt;Some of it will be about writing.&lt;/p&gt;

&lt;p&gt;Some of it will probably make absolutely no sense to anyone except me.&lt;/p&gt;

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

&lt;p&gt;I don't have everything figured out&lt;/p&gt;

&lt;p&gt;That's probably the first thing worth saying.&lt;/p&gt;

&lt;p&gt;I'm still learning.&lt;/p&gt;

&lt;p&gt;I'm still making mistakes.&lt;/p&gt;

&lt;p&gt;I'm still Googling things that I feel like I should already know.&lt;/p&gt;

&lt;p&gt;I'm still staring at code wondering why something isn't working, only to discover that I forgot a semicolon, used the wrong variable, or spent two hours solving a problem I created myself.&lt;/p&gt;

&lt;p&gt;That's part of the journey.&lt;/p&gt;

&lt;p&gt;I recently finished The Odin Project Foundations, something that took me much longer than I originally expected.&lt;/p&gt;

&lt;p&gt;I started, stopped, came back, struggled, learned, got confused, figured things out, and eventually finished.&lt;/p&gt;

&lt;p&gt;Finishing it didn't suddenly make me a great developer.&lt;/p&gt;

&lt;p&gt;It simply showed me that I could keep going.&lt;/p&gt;

&lt;p&gt;And now there are many more things ahead.&lt;/p&gt;

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

&lt;p&gt;React.&lt;/p&gt;

&lt;p&gt;Backend development.&lt;/p&gt;

&lt;p&gt;Cloud.&lt;/p&gt;

&lt;p&gt;Real projects.&lt;/p&gt;

&lt;p&gt;Real users.&lt;/p&gt;

&lt;p&gt;And eventually, real clients.&lt;/p&gt;

&lt;p&gt;Building Deolawage&lt;/p&gt;

&lt;p&gt;One of the things I'm currently exploring is turning Deolawage into something more than just a name I use online.&lt;/p&gt;

&lt;p&gt;I want it to become a website-creation brand.&lt;/p&gt;

&lt;p&gt;The idea is simple:&lt;/p&gt;

&lt;p&gt;Build useful websites for real businesses.&lt;/p&gt;

&lt;p&gt;I'm particularly interested in working with small businesses and eventually serving clients.&lt;/p&gt;

&lt;p&gt;That means I have a lot to figure out.&lt;/p&gt;

&lt;p&gt;What should I offer?&lt;/p&gt;

&lt;p&gt;Who exactly should I serve?&lt;/p&gt;

&lt;p&gt;How should I price my work?&lt;/p&gt;

&lt;p&gt;How do I find clients?&lt;/p&gt;

&lt;p&gt;How do I communicate with them?&lt;/p&gt;

&lt;p&gt;How do I turn a website from something that looks nice into something that actually helps a business?&lt;/p&gt;

&lt;p&gt;I don't have all the answers yet.&lt;/p&gt;

&lt;p&gt;That's partly why I want to document it.&lt;/p&gt;

&lt;p&gt;Why share all of this?&lt;/p&gt;

&lt;p&gt;Because I've realised that learning doesn't only happen when you reach the finish line.&lt;/p&gt;

&lt;p&gt;Sometimes the most interesting part is everything that happens before it.&lt;/p&gt;

&lt;p&gt;The confusion.&lt;/p&gt;

&lt;p&gt;The failed attempts.&lt;/p&gt;

&lt;p&gt;The small breakthrough.&lt;/p&gt;

&lt;p&gt;The project that finally works.&lt;/p&gt;

&lt;p&gt;The idea that doesn't.&lt;/p&gt;

&lt;p&gt;The lesson you didn't expect to learn.&lt;/p&gt;

&lt;p&gt;I want to keep a record of those things.&lt;/p&gt;

&lt;p&gt;Maybe someone else will find something useful in them.&lt;/p&gt;

&lt;p&gt;Maybe someone will relate to the struggle.&lt;/p&gt;

&lt;p&gt;Maybe, years from now, I'll look back at these posts and realise how much I've changed.&lt;/p&gt;

&lt;p&gt;That alone makes documenting the journey worthwhile.&lt;/p&gt;

&lt;p&gt;This is not a success story&lt;/p&gt;

&lt;p&gt;Not yet, anyway.&lt;/p&gt;

&lt;p&gt;I'm not writing this from the other side.&lt;/p&gt;

&lt;p&gt;I'm writing it from the middle.&lt;/p&gt;

&lt;p&gt;I'm still figuring things out.&lt;/p&gt;

&lt;p&gt;I'm still building.&lt;/p&gt;

&lt;p&gt;I'm still learning.&lt;/p&gt;

&lt;p&gt;And honestly, I think that's where the interesting part is.&lt;/p&gt;

&lt;p&gt;So this isn't:&lt;/p&gt;

&lt;p&gt;“Look at everything I've achieved.”&lt;/p&gt;

&lt;p&gt;It's more like:&lt;/p&gt;

&lt;p&gt;“Come see what happens next.”&lt;/p&gt;

&lt;p&gt;I'll share the projects I build.&lt;/p&gt;

&lt;p&gt;The things I learn.&lt;/p&gt;

&lt;p&gt;The mistakes I make.&lt;/p&gt;

&lt;p&gt;The ideas I'm exploring.&lt;/p&gt;

&lt;p&gt;The lessons I pick up along the way.&lt;/p&gt;

&lt;p&gt;And occasionally, whatever random thought happens to escape this tiny brain of mine.&lt;/p&gt;

&lt;p&gt;Hello, World.&lt;/p&gt;

&lt;p&gt;I've spent enough time keeping ideas to myself.&lt;/p&gt;

&lt;p&gt;It's time to put some of them out there.&lt;/p&gt;

&lt;p&gt;This is the beginning.&lt;/p&gt;

&lt;p&gt;Let's see what I can build.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>learning</category>
      <category>career</category>
    </item>
    <item>
      <title>I Finally Finished The Odin Project Foundations — 7 Months Later</title>
      <dc:creator>Deolawage</dc:creator>
      <pubDate>Wed, 09 Sep 2026 21:23:39 +0000</pubDate>
      <link>https://dev.to/deolawage/i-finally-finished-the-odin-project-foundations-7-months-later-1m4f</link>
      <guid>https://dev.to/deolawage/i-finally-finished-the-odin-project-foundations-7-months-later-1m4f</guid>
      <description>&lt;h1&gt;
  
  
  I Finally Finished The Odin Project Foundations — 7 Months Later
&lt;/h1&gt;

&lt;p&gt;On February 22, 2026, I started The Odin Project's Foundations path.&lt;/p&gt;

&lt;p&gt;I didn't finish it in February.&lt;/p&gt;

&lt;p&gt;I didn't even stay consistent for the first few weeks.&lt;/p&gt;

&lt;p&gt;I started with excitement, went through the lessons for about a week or two, then stopped.&lt;/p&gt;

&lt;p&gt;Life happened. Other things came up. My consistency disappeared.&lt;/p&gt;

&lt;p&gt;But I wasn't completely done.&lt;/p&gt;

&lt;p&gt;I came back in March.&lt;/p&gt;

&lt;p&gt;And this time, I kept going.&lt;/p&gt;

&lt;p&gt;Not perfectly.&lt;/p&gt;

&lt;p&gt;Not every day.&lt;/p&gt;

&lt;p&gt;Not without getting stuck.&lt;/p&gt;

&lt;p&gt;But I kept moving.&lt;/p&gt;

&lt;p&gt;And now, in September, I can finally say:&lt;/p&gt;

&lt;p&gt;I finished The Odin Project Foundations.&lt;/p&gt;

&lt;p&gt;It took much longer than I expected&lt;/p&gt;

&lt;p&gt;When I started on February 22, I wasn't thinking about September.&lt;/p&gt;

&lt;p&gt;I wasn't thinking:&lt;/p&gt;

&lt;p&gt;“Let me see if I can finish this in seven months.”&lt;/p&gt;

&lt;p&gt;I was just starting.&lt;/p&gt;

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

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

&lt;p&gt;Git.&lt;/p&gt;

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

&lt;p&gt;The command line.&lt;/p&gt;

&lt;p&gt;Developer tools.&lt;/p&gt;

&lt;p&gt;And eventually, all the little concepts that start connecting together as you progress.&lt;/p&gt;

&lt;p&gt;At some point, I realized this wasn't going to be a quick sprint.&lt;/p&gt;

&lt;p&gt;It was going to take time.&lt;/p&gt;

&lt;p&gt;And honestly, I'm glad it did.&lt;/p&gt;

&lt;p&gt;I stopped&lt;/p&gt;

&lt;p&gt;This is something I don't want to leave out.&lt;/p&gt;

&lt;p&gt;I started the Foundations path and stopped after roughly a week or two.&lt;/p&gt;

&lt;p&gt;For a while, I wasn't progressing.&lt;/p&gt;

&lt;p&gt;And that's easy to feel ashamed about when you see people online posting:&lt;/p&gt;

&lt;p&gt;“Day 47 of coding.”&lt;/p&gt;

&lt;p&gt;“Finished this course in 30 days.”&lt;/p&gt;

&lt;p&gt;“Built my first full-stack app in three weeks.”&lt;/p&gt;

&lt;p&gt;Meanwhile, you're looking at the same lesson you've been looking at for days.&lt;/p&gt;

&lt;p&gt;But I've learned something:&lt;/p&gt;

&lt;p&gt;Someone else's pace doesn't determine yours.&lt;/p&gt;

&lt;p&gt;I stopped.&lt;/p&gt;

&lt;p&gt;Then I came back.&lt;/p&gt;

&lt;p&gt;That's what mattered.&lt;/p&gt;

&lt;p&gt;March came, and I continued&lt;/p&gt;

&lt;p&gt;When I picked it up again in March, I didn't suddenly become a disciplined coding machine.&lt;/p&gt;

&lt;p&gt;I still struggled.&lt;/p&gt;

&lt;p&gt;There were lessons I had to reread.&lt;/p&gt;

&lt;p&gt;There were assignments where I stared at the screen wondering what exactly I was supposed to do.&lt;/p&gt;

&lt;p&gt;And there were concepts that only started making sense after I had actually struggled with them.&lt;/p&gt;

&lt;p&gt;But something changed.&lt;/p&gt;

&lt;p&gt;I started understanding that learning to code isn't about constantly feeling like you know what you're doing.&lt;/p&gt;

&lt;p&gt;Sometimes learning looks like:&lt;/p&gt;

&lt;p&gt;Read → get confused → try → fail → search → try again → understand a little → repeat.&lt;/p&gt;

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

&lt;p&gt;JavaScript especially humbled me&lt;/p&gt;

&lt;p&gt;If you've followed my learning journey, you already know JavaScript has given me some interesting moments. 😭&lt;br&gt;
For real, bro traumatized me.&lt;/p&gt;

&lt;p&gt;Loops and arrays alone nearly broke me.&lt;/p&gt;

&lt;p&gt;I spent weeks working through them and eventually started noticing something I didn't have at the beginning.&lt;/p&gt;

&lt;p&gt;I could read an assignment and actually have an idea of where to start.&lt;/p&gt;

&lt;p&gt;Not always.&lt;/p&gt;

&lt;p&gt;But sometimes.&lt;/p&gt;

&lt;p&gt;And those moments mattered.&lt;/p&gt;

&lt;p&gt;Because they showed me that I wasn't just consuming tutorials anymore.&lt;/p&gt;

&lt;p&gt;I was beginning to &lt;strong&gt;think through problems&lt;/strong&gt;.&lt;/p&gt;

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

&lt;p&gt;Seven months later...&lt;/p&gt;

&lt;p&gt;Now I'm at the end of the Foundations path.&lt;/p&gt;

&lt;p&gt;And strangely, finishing doesn't feel like the huge ending I imagined when I started.&lt;/p&gt;

&lt;p&gt;It feels more like reaching a checkpoint.&lt;/p&gt;

&lt;p&gt;I've learned a lot.&lt;/p&gt;

&lt;p&gt;I've also discovered how much I don't know.&lt;/p&gt;

&lt;p&gt;And I think that's one of the most valuable things this journey has given me.&lt;/p&gt;

&lt;p&gt;The more I learn about development, the bigger the world becomes.&lt;/p&gt;

&lt;p&gt;There are frameworks.&lt;/p&gt;

&lt;p&gt;Libraries.&lt;/p&gt;

&lt;p&gt;Backend development.&lt;/p&gt;

&lt;p&gt;Databases.&lt;/p&gt;

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

&lt;p&gt;Cloud.&lt;/p&gt;

&lt;p&gt;System design.&lt;/p&gt;

&lt;p&gt;Testing.&lt;/p&gt;

&lt;p&gt;Security.&lt;/p&gt;

&lt;p&gt;And a ridiculous number of things I haven't even discovered yet.&lt;/p&gt;

&lt;p&gt;So no, I don't feel like a “finished developer.”&lt;/p&gt;

&lt;p&gt;I feel like someone who has finally built a stronger foundation.&lt;/p&gt;

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

&lt;p&gt;I'm proud of this one&lt;/p&gt;

&lt;p&gt;Not because I completed The Odin Project.&lt;/p&gt;

&lt;p&gt;But because I came back.&lt;/p&gt;

&lt;p&gt;I could have left it somewhere around February and never touched it again.&lt;/p&gt;

&lt;p&gt;I didn't.&lt;/p&gt;

&lt;p&gt;I continued in March.&lt;/p&gt;

&lt;p&gt;I struggled through the months that followed.&lt;/p&gt;

&lt;p&gt;And now, in September, I've finally reached the end of Foundations.&lt;/p&gt;

&lt;p&gt;That's something I'm proud of.&lt;/p&gt;

&lt;p&gt;Maybe the most important lesson wasn't even in the curriculum.&lt;/p&gt;

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

&lt;p&gt;You can pause without quitting.&lt;/p&gt;

&lt;p&gt;Sometimes you need to step away.&lt;/p&gt;

&lt;p&gt;Sometimes your pace changes.&lt;/p&gt;

&lt;p&gt;Sometimes your motivation disappears.&lt;/p&gt;

&lt;p&gt;But if the goal still matters to you, you can come back.&lt;/p&gt;

&lt;p&gt;But I'm not done&lt;/p&gt;

&lt;p&gt;Finishing Foundations isn't the finish line for me.&lt;/p&gt;

&lt;p&gt;It's another starting point.&lt;/p&gt;

&lt;p&gt;There are still many things I want to learn.&lt;/p&gt;

&lt;p&gt;Many things I want to build.&lt;/p&gt;

&lt;p&gt;Many bugs I want to fight.&lt;/p&gt;

&lt;p&gt;Many projects that exist only as ideas in my head.&lt;/p&gt;

&lt;p&gt;And ultimately, there is still a bigger dream I'm working toward.&lt;/p&gt;

&lt;p&gt;I don't know exactly how long it will take.&lt;/p&gt;

&lt;p&gt;I don't know how many times I'll have to stop, restart, get stuck, or change direction.&lt;/p&gt;

&lt;p&gt;But I know I'm moving.&lt;/p&gt;

&lt;p&gt;And that's what matters.&lt;/p&gt;

&lt;p&gt;More steps ahead.&lt;/p&gt;

&lt;p&gt;More things to learn.&lt;/p&gt;

&lt;p&gt;More things to build.&lt;/p&gt;

&lt;p&gt;More mistakes to make.&lt;/p&gt;

&lt;p&gt;More problems to solve.&lt;/p&gt;

&lt;p&gt;And hopefully, a much better developer waiting for me somewhere down the road.&lt;/p&gt;

&lt;p&gt;For now, I'm taking a moment to appreciate this checkpoint.&lt;/p&gt;

&lt;p&gt;Foundations: done.&lt;/p&gt;

&lt;p&gt;The journey continues.&lt;/p&gt;

</description>
      <category>odinproject</category>
      <category>html</category>
      <category>javascript</category>
      <category>css</category>
    </item>
    <item>
      <title>JavaScript Loops and Arrays Nearly Broke Me — The Odin Project</title>
      <dc:creator>Deolawage</dc:creator>
      <pubDate>Thu, 13 Aug 2026 16:23:01 +0000</pubDate>
      <link>https://dev.to/deolawage/javascript-loops-and-arrays-nearly-broke-me-the-odin-project-42jn</link>
      <guid>https://dev.to/deolawage/javascript-loops-and-arrays-nearly-broke-me-the-odin-project-42jn</guid>
      <description>&lt;p&gt;Four weeks of confusion, broken code, and slowly learning to see the solution before writing the code.&lt;/p&gt;

&lt;p&gt;I'm currently working through &lt;strong&gt;The Odin Project&lt;/strong&gt;, and recently I went through the JavaScript section covering **loops and arrays.&lt;/p&gt;

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

&lt;p&gt;"Okay, I understand this."&lt;/p&gt;

&lt;p&gt;I read through the lessons.&lt;/p&gt;

&lt;p&gt;I followed the examples.&lt;/p&gt;

&lt;p&gt;I understood what the code was doing.&lt;/p&gt;

&lt;p&gt;Then I reached the assignments.&lt;/p&gt;

&lt;p&gt;And that's when reality hit me.&lt;/p&gt;

&lt;p&gt;I didn't actually understand it.&lt;/p&gt;




&lt;p&gt;Reading Isn't the Same as Understanding&lt;/p&gt;

&lt;p&gt;This was probably my biggest mistake.&lt;/p&gt;

&lt;p&gt;I read through the material and felt like I understood the concepts because the examples made sense.&lt;/p&gt;

&lt;p&gt;But when I was given an assignment and had to solve something myself, I just stared at the screen.&lt;/p&gt;

&lt;p&gt;I knew what a loop was.&lt;/p&gt;

&lt;p&gt;I knew what an array was.&lt;/p&gt;

&lt;p&gt;But I didn't know how to use them to solve the problem in front of me.&lt;/p&gt;

&lt;p&gt;It was like knowing the words of a language without knowing how to form a sentence.&lt;/p&gt;

&lt;p&gt;That's when I realized:&lt;/p&gt;

&lt;p&gt;I had been reading instead of learning.&lt;/p&gt;

&lt;p&gt;So I Asked Claude for Help&lt;/p&gt;

&lt;p&gt;At this point, I decided to get some help from Claude.&lt;/p&gt;

&lt;p&gt;But I didn't want it to just hand me the answers.&lt;/p&gt;

&lt;p&gt;I didn't want:&lt;/p&gt;

&lt;p&gt;"Here's the solution. Copy this."&lt;/p&gt;

&lt;p&gt;That wouldn't help me.&lt;/p&gt;

&lt;p&gt;So instead, I used Claude to help me understand the **technical concepts behind the assignments.&lt;/p&gt;

&lt;p&gt;Whenever I was confused, I'd explain where I was stuck.&lt;/p&gt;

&lt;p&gt;Instead of giving me the entire solution, it would break down the concept and give me clues about what I should be thinking about.&lt;/p&gt;

&lt;p&gt;Sometimes I'd get something like:&lt;/p&gt;

&lt;p&gt;"Think about what you're trying to track while the loop runs."&lt;/p&gt;

&lt;p&gt;Or:&lt;/p&gt;

&lt;p&gt;"What should happen to each item in the array?"&lt;/p&gt;

&lt;p&gt;Those little clues were often enough to get me moving.&lt;/p&gt;

&lt;p&gt;And when they weren't...&lt;/p&gt;

&lt;p&gt;Well, I went back and struggled some more. &lt;/p&gt;

&lt;p&gt;The First Assignment Was Rough&lt;/p&gt;

&lt;p&gt;I started the first assignment with almost no idea what I was doing.&lt;/p&gt;

&lt;p&gt;I wrote some code.&lt;/p&gt;

&lt;p&gt;It didn't work.&lt;/p&gt;

&lt;p&gt;I changed something.&lt;/p&gt;

&lt;p&gt;It still didn't work.&lt;/p&gt;

&lt;p&gt;I broke the code.&lt;/p&gt;

&lt;p&gt;Fixed something.&lt;/p&gt;

&lt;p&gt;Broke something else.&lt;/p&gt;

&lt;p&gt;At some point, I was probably just staring at the screen wondering why I had decided to learn programming.&lt;/p&gt;

&lt;p&gt;But I kept going.&lt;/p&gt;

&lt;p&gt;And something interesting started happening.&lt;/p&gt;

&lt;p&gt;I Started Getting Better&lt;/p&gt;

&lt;p&gt;The first few assignments felt like I was fighting the computer.&lt;/p&gt;

&lt;p&gt;But as I progressed, things started becoming a little clearer.&lt;/p&gt;

&lt;p&gt;I began understanding what the assignment was actually asking me to do.&lt;/p&gt;

&lt;p&gt;I started breaking problems into smaller pieces.&lt;/p&gt;

&lt;p&gt;Instead of immediately thinking:&lt;/p&gt;

&lt;p&gt;"How do I write this code?"&lt;/p&gt;

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

&lt;p&gt;"What exactly am I supposed to accomplish?"&lt;/p&gt;

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

&lt;p&gt;"What data do I have?"&lt;/p&gt;

&lt;p&gt;"What do I need to do with it?"&lt;/p&gt;

&lt;p&gt;"Do I need to go through every item?"&lt;/p&gt;

&lt;p&gt;"What do I need to keep track of?"&lt;/p&gt;

&lt;p&gt;Those questions started changing everything.&lt;/p&gt;

&lt;p&gt;Then Something Weird Happened&lt;/p&gt;

&lt;p&gt;After working through enough assignments, I reached a point where I'd read an instruction and...&lt;/p&gt;

&lt;p&gt;the concept would just come to me.&lt;/p&gt;

&lt;p&gt;Not always.&lt;/p&gt;

&lt;p&gt;I still got stuck.&lt;/p&gt;

&lt;p&gt;But more often than before, I'd read the problem and think:&lt;/p&gt;

&lt;p&gt;"Oh... I think I know what I need here."&lt;/p&gt;

&lt;p&gt;Maybe it was a loop.&lt;/p&gt;

&lt;p&gt;Maybe I needed to iterate through an array.&lt;/p&gt;

&lt;p&gt;Maybe I needed to create another variable to keep track of something.&lt;/p&gt;

&lt;p&gt;Maybe I needed to transform the data.&lt;/p&gt;

&lt;p&gt;The important thing was that I wasn't just remembering some code I'd seen before.&lt;/p&gt;

&lt;p&gt;I was beginning to recognize the type of problem.&lt;/p&gt;

&lt;p&gt;And that felt different.&lt;/p&gt;

&lt;p&gt;I Was Starting to Think in Code&lt;/p&gt;

&lt;p&gt;This was probably the biggest change.&lt;/p&gt;

&lt;p&gt;Before, I was looking at code and asking:&lt;/p&gt;

&lt;p&gt;"What does this syntax mean?"&lt;/p&gt;

&lt;p&gt;Now I was starting to look at a problem and ask:&lt;/p&gt;

&lt;p&gt;"What logic would solve this?"&lt;/p&gt;

&lt;p&gt;That's a completely different way of learning.&lt;/p&gt;

&lt;p&gt;The syntax still matters, of course.&lt;/p&gt;

&lt;p&gt;But eventually, you need to get past:&lt;/p&gt;

&lt;p&gt;"What does &lt;code&gt;for&lt;/code&gt; mean?"&lt;/p&gt;

&lt;p&gt;and start thinking:&lt;/p&gt;

&lt;p&gt;"I need to go through every item in this collection and do something with each one."&lt;/p&gt;

&lt;p&gt;That's when programming starts becoming less about memorizing syntax and more about solving problems.&lt;/p&gt;

&lt;p&gt;I Still Get Stuck&lt;/p&gt;

&lt;p&gt;I don't want to make this sound like I suddenly became a JavaScript wizard after four weeks.&lt;/p&gt;

&lt;p&gt;I didn't. &lt;/p&gt;

&lt;p&gt;I still get stuck.&lt;/p&gt;

&lt;p&gt;Sometimes I understand the problem but can't figure out the implementation.&lt;/p&gt;

&lt;p&gt;Sometimes I have the right idea but write the wrong code.&lt;/p&gt;

&lt;p&gt;Sometimes I completely misunderstand the problem.&lt;/p&gt;

&lt;p&gt;And sometimes I spend way too much time on something that eventually turns out to be simple.&lt;/p&gt;

&lt;p&gt;But there's one major difference now.&lt;/p&gt;

&lt;p&gt;Being stuck doesn't feel as scary as it used to.&lt;/p&gt;

&lt;p&gt;I know that if I keep breaking the problem down, looking at the concepts, experimenting, and trying again, I'll eventually get somewhere.&lt;/p&gt;

&lt;p&gt;AI Helped Me, But It Didn't Do the Work For Me&lt;/p&gt;

&lt;p&gt;I also learned something from using Claude during this process.&lt;/p&gt;

&lt;p&gt;AI can be extremely useful when you're learning to code.&lt;/p&gt;

&lt;p&gt;But there's a huge difference between using AI to learn and using AI to avoid learning.&lt;/p&gt;

&lt;p&gt;If I had simply asked:&lt;/p&gt;

&lt;p&gt;"Solve this assignment."&lt;/p&gt;

&lt;p&gt;and pasted the answer into my project, I probably would have finished the assignment much faster.&lt;/p&gt;

&lt;p&gt;But I would have learned much less.&lt;/p&gt;

&lt;p&gt;Instead, I tried to use Claude more like a tutor.&lt;/p&gt;

&lt;p&gt;Explain the concept.&lt;/p&gt;

&lt;p&gt;Give me a clue.&lt;/p&gt;

&lt;p&gt;Point me in the right direction.&lt;/p&gt;

&lt;p&gt;Help me understand why something wasn't working.&lt;/p&gt;

&lt;p&gt;Then let me struggle with the actual problem.&lt;/p&gt;

&lt;p&gt;That struggle was important.&lt;/p&gt;

&lt;p&gt;Because the moment I finally solved something myself, I understood it differently.&lt;/p&gt;

&lt;p&gt;Four Weeks Later&lt;/p&gt;

&lt;p&gt;After spending roughly four weeks working through loops and arrays, I can finally say that they make a lot more sense to me.&lt;/p&gt;

&lt;p&gt;Not because I've memorized everything.&lt;/p&gt;

&lt;p&gt;Not because I can solve every problem instantly.&lt;/p&gt;

&lt;p&gt;But because I'm starting to recognize patterns.&lt;/p&gt;

&lt;p&gt;I can read an assignment and sometimes already have an idea of the concept I need before I even start writing code.&lt;/p&gt;

&lt;p&gt;And honestly, that feeling is amazing.&lt;/p&gt;

&lt;p&gt;It's a small thing.&lt;/p&gt;

&lt;p&gt;But when you've spent weeks being confused, that little moment of:&lt;/p&gt;

&lt;p&gt;"Wait... I know what to do."&lt;/p&gt;

&lt;p&gt;feels huge.&lt;/p&gt;

&lt;p&gt;But I'm Not Done&lt;/p&gt;

&lt;p&gt;I'm still working through The Odin Project.&lt;/p&gt;

&lt;p&gt;I'm still learning JavaScript.&lt;/p&gt;

&lt;p&gt;I'm still getting stuck.&lt;/p&gt;

&lt;p&gt;I'm still breaking things.&lt;/p&gt;

&lt;p&gt;I'm still asking questions.&lt;/p&gt;

&lt;p&gt;And I still have a long way to go.&lt;/p&gt;

&lt;p&gt;Four weeks of loops and arrays didn't make me a great programmer.&lt;/p&gt;

&lt;p&gt;But it taught me something more important:&lt;/p&gt;

&lt;p&gt;Understanding takes time.&lt;/p&gt;

&lt;p&gt;Sometimes you have to read something twice.&lt;/p&gt;

&lt;p&gt;Sometimes you have to fail at an assignment.&lt;/p&gt;

&lt;p&gt;Sometimes you have to break your code.&lt;/p&gt;

&lt;p&gt;Sometimes you need someone—or something—to give you a clue.&lt;/p&gt;

&lt;p&gt;And sometimes you just need to keep going until the pieces finally start connecting.&lt;/p&gt;

&lt;p&gt;So yeah...&lt;/p&gt;

&lt;p&gt;JavaScript loops and arrays nearly broke me.&lt;/p&gt;

&lt;p&gt;But they didn't.&lt;/p&gt;

&lt;p&gt;I'm still here.&lt;/p&gt;

&lt;p&gt;Still learning.&lt;/p&gt;

&lt;p&gt;Still building.&lt;/p&gt;

&lt;p&gt;Still growing.&lt;/p&gt;

&lt;p&gt;And I've got a long way to go.&lt;/p&gt;

&lt;p&gt;Let's see where this journey takes me. 🚀&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>javascript</category>
      <category>learning</category>
      <category>programming</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Deolawage</dc:creator>
      <pubDate>Tue, 11 Aug 2026 10:07:19 +0000</pubDate>
      <link>https://dev.to/deolawage/-3fm6</link>
      <guid>https://dev.to/deolawage/-3fm6</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/deolawage/three-years-later-i-finally-submitted-my-frontend-mentor-challenge-3ob1" class="crayons-story__hidden-navigation-link"&gt;Three Years Later, I Finally Submitted My Frontend Mentor Challenge&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/deolawage" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1224008%2F2318d198-5157-434e-b366-f6ab0967d41d.png" alt="deolawage profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/deolawage" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Deolawage
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Deolawage
                
                
              
              &lt;div id="story-author-preview-content-4368151" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/deolawage" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1224008%2F2318d198-5157-434e-b366-f6ab0967d41d.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Deolawage&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/deolawage/three-years-later-i-finally-submitted-my-frontend-mentor-challenge-3ob1" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Aug 11&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/deolawage/three-years-later-i-finally-submitted-my-frontend-mentor-challenge-3ob1" id="article-link-4368151"&gt;
          Three Years Later, I Finally Submitted My Frontend Mentor Challenge
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/frontmentor"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;frontmentor&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/frontendchallenge"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;frontendchallenge&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/beginners"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;beginners&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/deolawage/three-years-later-i-finally-submitted-my-frontend-mentor-challenge-3ob1" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;7&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/deolawage/three-years-later-i-finally-submitted-my-frontend-mentor-challenge-3ob1#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              1&lt;span class="hidden s:inline"&gt;&amp;nbsp;comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            3 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Three Years Later, I Finally Submitted My Frontend Mentor Challenge</title>
      <dc:creator>Deolawage</dc:creator>
      <pubDate>Tue, 11 Aug 2026 10:04:20 +0000</pubDate>
      <link>https://dev.to/deolawage/three-years-later-i-finally-submitted-my-frontend-mentor-challenge-3ob1</link>
      <guid>https://dev.to/deolawage/three-years-later-i-finally-submitted-my-frontend-mentor-challenge-3ob1</guid>
      <description>&lt;p&gt;I Finally Submitted a Frontend Mentor Challenge I Started in 2023&lt;/p&gt;

&lt;p&gt;Three years, one old project, one tablet, and a very different version of me.&lt;/p&gt;

&lt;p&gt;In 2023, I did something that probably felt very small at the time.&lt;/p&gt;

&lt;p&gt;I started a Frontend Mentor challenge.&lt;/p&gt;

&lt;p&gt;I was still very early in my journey with frontend development. I was learning, experimenting, breaking things, fixing them, and trying to understand how websites were actually built.&lt;/p&gt;

&lt;p&gt;And here's the funny part:&lt;/p&gt;

&lt;p&gt;I didn't even have my own laptop.&lt;/p&gt;

&lt;p&gt;I built the project using my dad's tablet.&lt;/p&gt;

&lt;p&gt;Yes, a tablet.&lt;/p&gt;

&lt;p&gt;I was determined enough to make it work.&lt;/p&gt;

&lt;p&gt;I remember opening my code, working through the design, trying to make the page look like the challenge, and learning things along the way.&lt;/p&gt;

&lt;p&gt;But I didn't finish it.&lt;/p&gt;

&lt;p&gt;Or rather...&lt;/p&gt;

&lt;p&gt;I didn't submit it.&lt;/p&gt;

&lt;p&gt;Life moved on.&lt;/p&gt;

&lt;p&gt;I continued learning frontend development. I started working on other projects. I learned more HTML and CSS. Eventually I moved into JavaScript and started exploring backend development too.&lt;/p&gt;

&lt;p&gt;That old challenge just became one of those unfinished things sitting somewhere in my past.&lt;/p&gt;

&lt;p&gt;Fast forward to 2026&lt;/p&gt;

&lt;p&gt;During my SIWES, I was given an assignment at my training center.&lt;/p&gt;

&lt;p&gt;The assignment was related to Frontend Mentor.&lt;/p&gt;

&lt;p&gt;When I saw it, I immediately remembered the old challenge.&lt;/p&gt;

&lt;p&gt;That project from 2023.&lt;/p&gt;

&lt;p&gt;The one I had built on my dad's tablet.&lt;/p&gt;

&lt;p&gt;The one I never submitted.&lt;/p&gt;

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

&lt;p&gt;"Why don't I finally finish it?"&lt;/p&gt;

&lt;p&gt;So I went back to it.&lt;/p&gt;

&lt;p&gt;Coming back to old code is weird&lt;/p&gt;

&lt;p&gt;One of the strangest experiences as a developer is looking at code you wrote years ago.&lt;/p&gt;

&lt;p&gt;You see things you used to think were difficult.&lt;/p&gt;

&lt;p&gt;You see decisions you would make differently now.&lt;/p&gt;

&lt;p&gt;You notice mistakes that you didn't even realize were mistakes.&lt;/p&gt;

&lt;p&gt;And sometimes you just stare at something and think:&lt;/p&gt;

&lt;p&gt;"Why did I write it like this?" &lt;/p&gt;

&lt;p&gt;But that's actually one of the best ways to see your growth.&lt;/p&gt;

&lt;p&gt;The code wasn't necessarily terrible.&lt;/p&gt;

&lt;p&gt;I had just changed.&lt;/p&gt;

&lt;p&gt;The developer who started that project in 2023 wasn't the same developer who returned to it in 2026.&lt;/p&gt;

&lt;p&gt;The project became more than a challenge&lt;/p&gt;

&lt;p&gt;When I finally worked on it again, I wasn't just trying to complete an old Frontend Mentor assignment.&lt;/p&gt;

&lt;p&gt;I was comparing two versions of myself.&lt;/p&gt;

&lt;p&gt;2023 me&lt;br&gt;
Learning the basics&lt;br&gt;
Figuring out CSS&lt;br&gt;
Working with limited resources&lt;br&gt;
Building on a tablet&lt;br&gt;
Trying to understand how everything worked&lt;br&gt;
2026 me&lt;br&gt;
More comfortable with HTML and CSS&lt;br&gt;
Learning JavaScript&lt;br&gt;
Working with Git and GitHub&lt;br&gt;
Building full-stack projects&lt;br&gt;
Thinking about responsive design differently&lt;br&gt;
Understanding code structure better&lt;br&gt;
More comfortable debugging problems&lt;/p&gt;

&lt;p&gt;And the funny thing is...&lt;/p&gt;

&lt;p&gt;The project hadn't changed.&lt;/p&gt;

&lt;p&gt;I had.&lt;/p&gt;

&lt;p&gt;I finally submitted it&lt;/p&gt;

&lt;p&gt;After all those years, I finally submitted the challenge.&lt;/p&gt;

&lt;p&gt;Not in 2023.&lt;/p&gt;

&lt;p&gt;Not in 2024.&lt;/p&gt;

&lt;p&gt;Not in 2025.&lt;/p&gt;

&lt;p&gt;2026.&lt;/p&gt;

&lt;p&gt;Three years after I started it.&lt;/p&gt;

&lt;p&gt;And honestly, I'm glad I didn't delete it.&lt;/p&gt;

&lt;p&gt;Because if I had, I wouldn't have had the opportunity to see how much I had grown.&lt;/p&gt;

&lt;p&gt;Finish the old projects sometimes&lt;/p&gt;

&lt;p&gt;There's a lesson I'm taking from this.&lt;/p&gt;

&lt;p&gt;As developers, we're always looking forward.&lt;/p&gt;

&lt;p&gt;The next tutorial.&lt;/p&gt;

&lt;p&gt;The next framework.&lt;/p&gt;

&lt;p&gt;The next project.&lt;/p&gt;

&lt;p&gt;The next challenge.&lt;/p&gt;

&lt;p&gt;The next thing we need to learn.&lt;/p&gt;

&lt;p&gt;But sometimes it's worth looking backward.&lt;/p&gt;

&lt;p&gt;Open an old project.&lt;/p&gt;

&lt;p&gt;Read your old code.&lt;/p&gt;

&lt;p&gt;Run it again.&lt;/p&gt;

&lt;p&gt;See what you understand now that you didn't understand then.&lt;/p&gt;

&lt;p&gt;You might be surprised.&lt;/p&gt;

&lt;p&gt;Not because the old project is amazing.&lt;/p&gt;

&lt;p&gt;But because you're no longer the person who built it.&lt;/p&gt;

&lt;p&gt;From a tablet to where I am now&lt;/p&gt;

&lt;p&gt;The part that makes me smile the most is remembering that I built that first version using my dad's tablet.&lt;/p&gt;

&lt;p&gt;At the time, I didn't have all the resources I have now.&lt;/p&gt;

&lt;p&gt;But I had curiosity.&lt;/p&gt;

&lt;p&gt;And I had the willingness to try.&lt;/p&gt;

&lt;p&gt;Three years later, I'm still here.&lt;/p&gt;

&lt;p&gt;Still learning.&lt;/p&gt;

&lt;p&gt;Still building.&lt;/p&gt;

&lt;p&gt;Still breaking things.&lt;/p&gt;

&lt;p&gt;Still fixing things.&lt;/p&gt;

&lt;p&gt;Still trying to become a better developer.&lt;/p&gt;

&lt;p&gt;And that old Frontend Mentor challenge?&lt;/p&gt;

&lt;p&gt;It finally has a submission.&lt;/p&gt;

&lt;p&gt;Better late than never.&lt;/p&gt;

&lt;p&gt;What about you?&lt;/p&gt;

&lt;p&gt;Do you have an old project sitting somewhere that you never finished?&lt;/p&gt;

&lt;p&gt;Maybe you should open it again.&lt;/p&gt;

&lt;p&gt;You might not just finish the project.&lt;/p&gt;

&lt;p&gt;You might discover how much you've grown.&lt;/p&gt;

</description>
      <category>frontmentor</category>
      <category>frontendchallenge</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
