How a Simple Profile Card Became My Mount Kilimanjaro
I stared at the HNG Internship task announcement for three days straight. Three. Full. Days. The cursor blinked mockingly in my VS Code editor while I spiraled through every worst-case scenario my anxiety could conjure:
What if my code is terrible?
What if everyone else clearly knows what they’re doing and I’m the only one struggling?
What if I’ve forgotten everything?
What if I fail publicly?
What if this proves I was never meant to be a developer?
The task was simple enough: build a profile card using HTML, CSS, and vanilla JavaScript. No frameworks, no libraries, just the fundamentals. For someone who hasn’t seriously coded in years, it might as well have been “build a spaceship from scratch.”
But this week, I did something I haven’t done in a very long time: I pushed through the fear. I built and deployed my very first frontend project in years.
It’s just a profile card. A small, humble rectangle on a screen displaying some information and maybe a button or two. But emotionally? Psychologically? It felt like climbing Mount Kilimanjaro in house slippers, a blindfold, and someone else’s map 😭.
Let me tell you why this tiny project meant so much, and why your “small wins” might be more significant than you realize.
The Weight of “I’ll Do It Soon”
For years — and I mean years — I had been telling myself the same story: “I’ll get back to coding soon. I’ll relearn everything I forgot. I’ll build projects. I’ll finally become a developer. Soon.”
Soon became my favorite lie.
Every month, I’d think, “Next month, I’ll start.” Next month would arrive, and I’d push it to the month after. Then the year after. Then “when things settle down.” Then “after I finish this other thing.” Then… well, you get the idea.
But here’s what I learned: things never settle down. Life doesn’t pause and wait for you to feel ready. There’s always going to be something — stress, responsibilities, self-doubt, that voice in your head saying you’re not ready yet, you need to learn more first, you should wait until you’re better prepared.
The gap between “I want to code” and “I actually code” kept growing. And the wider it grew, the more impossible the bridge back seemed. I wasn’t just dealing with rusty skills or forgotten syntax; I was dealing with the weight of years of broken promises I’d made to myself.
Why I Stopped in the First Place
Let me be real about what those years looked like and why I stepped away from coding:
Life Got in the Way: After university, life became… complicated. There were bills to pay, family responsibilities, and survival mode. Coding went from “my future career” to “that thing I’ll get back to someday” to “that thing I used to think I’d do.”
The Intimidation Factor: Every time I thought about getting back into it, I’d look at job requirements: “5 years experience in React, expert in Node.js, Docker, Kubernetes, GraphQL, and fourteen other things I’d never heard of.” The gap between where I was and where I thought I needed to be felt impossible to close.
The Comparison Trap: Social media didn’t help. Every scroll showed people my age (or younger) already working as developers, building impressive projects, talking casually about concepts I didn’t understand. They seemed so far ahead that starting felt pointless. What was the use when everyone else had such a massive head start?
Imposter Syndrome Before I Even Started: How could I call myself a developer when I hadn’t built anything real in years? When I’d forgotten most of what I learned in school? When I had to Google the most basic things? The imposter syndrome was so strong, I didn’t even try because I was convinced I’d fail.
Fear of Being “Too Late”: There’s this narrative that if you’re not coding by age 18, working at a startup by 22, and a senior developer by 25, you’ve missed your window. I know that’s not true logically, but emotionally? That fear kept me paralyzed.
So when the HNG Internship opportunity came up, it triggered all of this at once. Every fear, every insecurity, every year of avoidance came flooding back.
The Three Days of Paralysis
Day One: I read the task requirements at least twenty times. Not because they were complicated, but because my brain was desperately searching for reasons why I couldn’t do it. I bookmarked tutorials I told myself I’d watch “later.” I opened several tabs about HTML and CSS. I read the first paragraph of a JavaScript refresher. I didn’t write a single line of code.
I told myself: “I need to review the basics first. I can’t just jump in without preparation. I’ll mess it up. Tomorrow, after I’ve studied, I’ll start.”
Day Two: I opened VS Code. Just opening it felt like an achievement. I created a new folder. I named it “profile-card” and stared at it. I created an index.html file and looked at that blank screen for what felt like hours but was probably forty-five minutes.
My brain helpfully provided a running commentary: “You don’t even remember how to start an HTML file. Should there be a doctype? What even is a doctype? Everyone else has probably already finished this task. You’re going to be the worst one. Maybe you should watch more tutorials first.”
I closed my laptop. “I’ll do it tomorrow when I’m more focused,” I told myself. Translation: when I’m braver, when I magically remember everything, when I feel like I deserve to be here.
Day Three: The deadline was approaching. This was it — do it now or let another opportunity slip away. Another promise broken to myself. Another confirmation that fear was in control, not me. Another year of “I’ll do it soon.”
That’s when something shifted.
I realized I’d been treating this task like it was a final exam determining my worth as a person. But it wasn’t. It was just… a task. A profile card. HTML tags and CSS properties and some JavaScript. That’s literally it.
The mental weight I’d attached to it — all the years of not coding, all the comparisons to others, all the fear that I wasn’t good enough — that was entirely self-imposed. The task itself? Just some code. That’s all it ever was.
The Moment I Started
I’m not going to romanticize this part because there was nothing romantic about it. There was no epic motivational moment, no inspirational music playing in the background, no sudden surge of confidence.
I just… felt tired of being scared. Tired of avoiding. Tired of letting fear make decisions for me.
So I opened my laptop, took a breath, and typed: <!DOCTYPE html>
That first tag felt monumental. Like I’d just stepped through a door I’d been standing in front of for years.
Then came the
section. Then the . Line by line, tag by tag, I was building something. It wasn't pretty yet. It definitely wasn't functional. But it was something, which was infinitely more than the nothing I'd been producing for years.The Struggle Was REAL
Let me be completely honest about what building this “simple” project actually looked like for someone who hasn’t coded in years:
I remembered absolutely nothing. Well, that’s not entirely true. I remembered that HTML exists. That’s about where my knowledge ended. How do you even structure an HTML file? What tags go where? I vaguely remembered
being important but couldn't tell you why.I Googled. Everything. Constantly. And I mean everything:
“HTML boilerplate code” (I couldn’t remember the basic structure)
“How to link CSS file to HTML” (I’d definitely done this before… somewhere in the distant past)
“CSS how to center div” (this is apparently every developer’s eternal question)
“How to make button clickable JavaScript” (I felt stupid Googling this)
“Why is my CSS not working” (approximately 47 times)
“JavaScript addEventListener” (what even is the syntax for this?)
Every Google search felt like admitting defeat. Like publicly announcing “I don’t know what I’m doing.” The voice in my head kept saying, “A real developer would know this. You’re a fraud. You shouldn’t even be trying.”
I broke things constantly. At one point, my entire layout imploded because I forgot to close a
tag. Another time, I spent thirty minutes debugging why my text was the wrong color before realizing I had a typo in the CSS class name (I wrote .contaner instead of .container).My JavaScript wouldn’t run at all initially. Why? Because I put the tag in the <head> instead of at the end of the <body>, so the script was trying to access elements that didn't exist yet. I only figured this out after reading multiple Stack Overflow threads from people who'd made the exact same mistake.</p> <p>Everything took forever. What should have been a 2-hour project took me three days. Not because the project was hard, but because I had to learn (or relearn) everything from scratch. Every single step required research, testing, breaking, fixing, and repeat.</p> <p>Imposter syndrome was overwhelming. Every time I had to search for something basic, that voice got louder: “See? You don’t belong here. Real developers don’t need to Google how to center a div. You’re wasting everyone’s time. Just give up.”</p> <p>I compared my process to everyone else’s. I’d check the HNG Discord channel and see people casually mentioning they’d finished their projects. “Just wrapped mine up, pretty straightforward!” Meanwhile, I was on day three, still trying to figure out why my profile picture wouldn’t display properly. (Spoiler: It was the file path. It’s always the file path. I learned this the hard way.)</p> <p>But here’s what I slowly realized: Struggling doesn’t mean failing. It means learning. Every developer Googles things. Every developer makes typos. Every developer forgets basic syntax sometimes. The difference between someone who “knows what they’re doing” and me isn’t that they don’t struggle — it’s that they’ve struggled through it enough times that some things stick.</p> <p>The GitHub Pages Nightmare<br> Oh, you thought the hardest part was building the project? Sweet summer child. Let me tell you about deployment.</p> <p>I finished my profile card locally. It looked… okay. Definitely not winning any design awards, but it worked. The information displayed. The button did something when you clicked it. I was proud of it in that “I made this with my own hands” kind of way.</p> <p>Time to deploy to GitHub Pages so I could submit the link for the internship task.</p> <p>I’d never deployed anything before. Ever. This was completely new territory.</p> <p>Step 1: Push to GitHub</p> <p>First, I had to remember how to use Git. I vaguely recalled commands like git add and git commit from a tutorial I'd watched years ago. Cue more Googling:</p> <p>“Git commands for beginners”<br> “How to push code to GitHub”<br> “Git add commit push order”<br> After several failed attempts (forgot to initialize the repo, forgot to add the remote, forgot to commit before pushing — I hit every possible Git newbie mistake), I finally got my code on GitHub. Small victory! I felt like I’d climbed a mountain.</p> <p>Step 2: Enable GitHub Pages</p> <p>I navigated to the repository settings and enabled GitHub Pages. This part was surprisingly straightforward. I felt suspicious about how easy it was. My suspicion was justified.</p> <p>Step 3: Visit the URL and see my project live</p> <p>GitHub gave me a URL. I clicked it excitedly.</p> <p>Blank page.</p> <p>Completely blank. Nothing. Just white void staring back at me, mocking my existence, laughing at my audacity to think I could do this.</p> <p>I refreshed. Still blank.<br> I refreshed again. Still blank.<br> I refreshed seventeen more times. Same result.</p> <p>Step 4: Absolute Panic</p> <p>I checked the browser console — errors everywhere, but I didn’t understand what they meant.</p> <p>I checked my file structure — looked fine to me, but what did I know?</p> <p>I re-read the GitHub Pages documentation — it was written for people who already understood what they were doing, which was not me.</p> <p>I Googled “GitHub Pages blank page” — found approximately 147 different possible causes. I tried several random solutions. None worked.</p> <p>For about thirty minutes, I genuinely considered giving up. Like, full giving up. Not just on this project, but on coding entirely. This felt like a sign from the universe: “Nice try, but this isn’t for you. You’re not cut out for this. Stop embarrassing yourself.”</p> <p>I could feel years of avoidance wanting to take over again. The familiar comfort of “I’ll try again later” was calling to me.</p> <p>But then I did something I’d never done before in my coding journey: I went to YouTube.</p> <p>The Power of Community (And Admitting You Need Help)<br> I went to YouTube and typed in GitHub pages to see what I did wrong. I came across Ideaspot’s video about GitHub pages, where he described the process he underwent to host his website.</p> <p>I then began to laugh nervously as I realized where I went wrong. Turns out, my issue was embarrassingly simple: I’d nested my index.html inside a subfolder instead of putting it in the root directory. GitHub Pages looks for index.html in the root, couldn't find it, and gave up. I went around restructuring my entire repository.</p> <p>Another thing that helped was that I used the GitHub Actions option to deploy the profile card as opposed to using the main branch. I also asked HNG cohort 13 frontend students for some advice as well, and they came through, and I will forever be grateful for that.</p> <p>My profile card went live. On the actual internet. Where real people could see it.</p> <p>The Moment It Went Live<br> I’m not exaggerating when I say I got emotional.</p> <p>I clicked the GitHub Pages link, and instead of a blank page, I saw my profile card. My name. My information. The layout I’d spent three days building. The button I’d made clickable. All of it, working, living, on the internet.</p> <p>It wasn’t much. It wasn’t impressive. But it was mine. I built it. After years of telling myself I’d get back to coding “someday,” I actually did it.</p> <p>This tiny project represented so much more than HTML and CSS:</p> <p>Choosing action over fear for the first time in years<br> Showing up after convincing myself I wasn’t ready<br> Proving to myself I could still do hard things<br> Asking for help instead of suffering in silence and giving up<br> Finishing something I started despite wanting to quit multiple times<br> I took a screenshot. Then another. I sent the link to my family. I posted about it in Discord. I let myself feel proud, which is something I rarely allow.</p> <p>For years, I’d been waiting to feel capable before trying. But this taught me the truth: You don’t get capable and then try. You try, and capability follows.</p> <p>What “Small Wins” Actually Mean<br> Here’s what I want you to understand, especially if you’re in a similar position — scared, behind, feeling like you’ve waited too long:</p> <p>Progress isn’t always a job offer, a promotion, shipping a viral product, or becoming a senior developer.</p> <p>Sometimes progress is:</p> <p>Opening your laptop when every part of you wants to avoid it<br> Writing one line of code after years of writing none<br> Googling “basic” questions without drowning in shame about not knowing<br> Asking for help when you’re stuck instead of giving up alone<br> Submitting something imperfect instead of never submitting anything perfect<br> Starting scared because you may never feel ready<br> Showing up for yourself when it would be easier to hide<br> My profile card won’t get me hired at Google. The code isn’t elegant. Experienced developers would probably cringe at how I structured things. No one is impressed by a simple HTML/CSS/JS profile card in 2025.</p> <p>But I did something I couldn’t do three days ago. I did something I haven’t done in years. And that matters. That counts.</p> <p>Redefining Success for Beginners (Or Re-beginners)<br> For so long, I measured success by external metrics:</p> <p>Having a developer job<br> Knowing all the technologies<br> Building impressive projects quickly<br> Being as good as people who’ve been coding consistently<br> Never needing to Google things<br> But those metrics kept me paralyzed. Because by those standards, I was failing before I even started. I was behind. I wasn’t good enough. I’d never catch up.</p> <p>This project taught me a different definition of success:</p> <p>Did I start even though I was terrified? ✓<br> Did I keep going when I wanted to quit? ✓<br> Did I learn something I didn’t know before? ✓<br> Did I ask for help when I needed it? ✓<br> Did I finish what I started? ✓<br> Did I prove to myself that I can do hard things? ✓<br> By these standards — the only standards that actually matter for where I am right now — I’m winning.</p> <p>Slowly. Messily. Imperfectly. With tons of Googling and help from others.</p> <p>But winning.</p> <p>The Lessons I’m Taking Forward</p> <ol> <li>Start Before You’re Ready (Because You’ll Never Feel Ready) I was never going to feel ready. If I’d waited for confidence, for all my skills to come back, for the perfect moment when everything made sense, I’d still be waiting.</li> </ol> <p>I’d be waiting forever.</p> <p>Action creates confidence, not the other way around. You don’t become brave and then do the thing. You do the thing scared, and bravery slowly follows after enough scared attempts.</p> <p>Starting scared is still starting. And starting is the only way forward.</p> <ol> <li>You Don’t Have to Know Everything (Nobody Does) I thought I needed to relearn everything before building anything. I thought I should understand all of HTML, CSS, and JavaScript before attempting a project.</li> </ol> <p>But that’s not how learning works. You learn by doing, not by preparing to do.</p> <p>Every professional developer Googles things constantly. They don’t have everything memorized. They look up syntax, read documentation, check Stack Overflow, and ask colleagues. The difference isn’t that they never need help; it’s that they’re comfortable needing help.</p> <p>Not knowing something isn’t a failure. It’s the starting point of learning.</p> <ol> <li>Comparison Will Destroy You I wasted so much time comparing my day-three struggle to other people’s finished projects. “They finished so fast. They make it look easy. They must be naturally talented. I must be naturally untalented.”</li> </ol> <p>But I wasn’t seeing their struggles. I wasn’t seeing their Googling, their debugging, their confusion. I was comparing my messy process to their polished results.</p> <p>Here’s the truth: Everyone struggles. Everyone starts somewhere. Everyone has a first project. Mine just happens to be happening years later than some people’s. So what? It’s still happening. I’m still moving forward.</p> <p>Your timeline is yours. Comparison is just stealing your joy and motivation.</p> <ol> <li>Community Makes All the Difference I couldn’t have solved my GitHub Pages issue alone. I would have given up. I was about to give up.</li> </ol> <p>But someone helped me. Multiple people helped me. Strangers took time out of their day to walk a confused beginner through a basic problem.</p> <p>The myth of the lone genius coder who figures everything out alone is just that — a myth. Real development happens in a community. We learn from each other. We help each other. We remind each other that struggling is normal, not shameful.</p> <p>Asking for help isn’t a weakness. It’s wisdom. It’s efficiency. It’s how you actually get things done instead of suffering in silence.</p> <ol> <li>Messy Progress Beats Perfect Inaction Every Time My code isn’t clean. My design isn’t beautiful. I didn’t follow best practices (mostly because I don’t know what they are yet). An experienced developer could improve this project in 47 different ways.</li> </ol> <p>But I have a deployed project. It exists. It works.</p> <p>A messy, imperfect project that EXISTS is worth infinitely more than a perfect project that never gets started.</p> <p>Done beats perfect. Shipped beats polished. Real beats ideal.</p> <ol> <li>Small Wins Compound This one project doesn’t change my life. I’m not suddenly a developer now. I don’t magically know everything. I’m still scared. I still doubt myself.</li> </ol> <p>But this project changed my trajectory. It proved something crucial: I can do hard things. I can learn. I can struggle through confusion and come out the other side with something real.</p> <p>Today, I built a profile card. Tomorrow, maybe I’ll build something slightly more complex. Next week, something even bigger. Each small win makes the next one more possible.</p> <p>Momentum builds. Confidence compounds. Skills develop. One line of code at a time. One project at a time. One scared start at a time.</p> <p>What Happens Next (I Honestly Don’t Know)<br> I’m not going to pretend I’ve “made it” now. One project doesn’t erase years of avoidance and fear. I’m still a beginner. I still have so much to learn. I still have days where the thought of coding makes me anxious.</p> <p>But now I have proof that I can start. I have evidence that fear doesn’t have to win.</p> <p>The HNG Internship will continue. More tasks will come. Some will definitely be harder than this one. I’ll probably struggle again. I’ll probably want to quit again. I’ll probably have moments where I’m convinced I’m the only one who doesn’t get it.</p> <p>But I’ll also remember this moment: the moment I chose to show up despite years of hiding. The moment I proved to myself that “I can’t” is usually just “I’m scared, but I can try anyway.”</p> <p>I don’t know if I’ll become a professional developer. I don’t know if I’ll land a job in tech. I don’t know if this is the start of a career or just a brief moment of courage.</p> <p>But I know I built something. And I know I can build something again.</p> <p>That’s enough for today.</p> <p>For Anyone Else Who’s Stuck (Or Stopped)<br> If you’re reading this and you relate to any part of my story — if you’ve been telling yourself “someday” for too long, if you’re scared you’re too late, if you feel like everyone else is ahead and you’ll never catch up — I want you to know:</p> <p>Your timeline is valid. Some people start coding at 12. Some at 22. Some at 42. Some stop and start again multiple times. There’s no expiration date on learning. You haven’t missed your window. The door is still open.</p> <p>Your fear is valid, but it’s lying to you. Fear says you can’t. Fear says you’re not ready. Fear says everyone else is better. Fear says you’ve waited too long. But fear’s job is to protect you from discomfort, not to tell you the truth about your capabilities.</p> <p>Your struggle is normal. If you’re finding this hard, you’re not broken. You’re learning. Struggle is the process, not a sign you’re failing. Every developer has gone through this. The ones who look confident now? They were confused beginners once, too.</p> <p>You don’t have to be great to start. You just have to start. Messy starts count. Scared starts count. Imperfect starts count. Starting is the hardest part, and you don’t need permission or perfect conditions or complete knowledge to begin.</p> <p>Small wins matter more than you think. That tutorial you finished? That bug you fixed? That day, you opened your code editor even though you were terrified? Those aren’t tiny. Those are proof you’re moving forward. Celebrate them.</p> <p>You’re not alone in this. So many people are exactly where you are — scared, behind, convinced they’re the only one struggling. Community exists. Help exists. People who will cheer you on exist. You just have to reach out.</p> <p>The Challenge (For You and For Me)<br> I’m not going to end this with some inspirational quote about believing in yourself. Because honestly? I don’t always believe in myself. Some days I’m still convinced I’m a fraud. Some days, I’m sure I’m not cut out for this.</p> <p>But here’s what I’m committing to, and I invite you to join me:</p> <p>Show up scared. When fear says “you can’t,” show up anyway. Not because you’re confident, but because you’re done letting fear make decisions for you.</p> <p>Start before you’re ready. You will never feel completely ready. Start anyway. Start messy. Start confused. Just start.</p> <p>Celebrate tiny wins. That line of code you wrote today? Celebrate it. That error you finally fixed? Celebrate it. That day, you showed up when you wanted to hide? Celebrate that most of all.</p> <p>Ask for help without shame. Not knowing something is not a character flaw. It’s the starting point of knowing something. People want to help. Let them.</p> <p>Keep going even when it’s hard. Not every day will feel like progress. Not every project will work out. You’ll have days where you feel like you’ve learned nothing. Keep going anyway. Consistency matters more than perfection.</p> <p>Share your messy middle. We see everyone’s polished results but not their struggles. Break that pattern. Share your bugs. Share your confusion. Share your “I have no idea what I’m doing” moments. You’ll help someone else feel less alone, and you’ll remind yourself that struggling is part of the process.</p> <p>Final Thoughts<br> This week, I built a profile card. Just HTML, CSS, and a bit of JavaScript. Nothing revolutionary. Nothing impressive to experienced developers. Something that probably exists in thousands of beginner tutorials across the internet.</p> <p>But for me? It was everything.</p> <p>It was proof that I’m not done. That fear doesn’t get the final say. Those years of waiting don’t have to mean forever. That I can still do hard things, even when I’m convinced I can’t.</p> <p>So here’s to rebuilding from scratch, one line of code at a time.<br> Here’s to starting years late and starting anyway.<br> Here’s to messy progress and quiet wins that nobody sees but you.<br> Here’s to Googling everything and not being ashamed about it.<br> Here’s to asking for help and accepting it.<br> Here’s to everyone fighting battles no one else knows about.<br> Here’s to proving that sometimes, the bravest thing you can do is just… begin.</p> <p>Your profile card moment is waiting. What’s it going to be?</p> <p>This post is dedicated to everyone who’s ever thought, “It’s too late for me.” It’s not. I promise it’s not.</p>

Top comments (0)