<?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>Forem: Laurina Ayarah</title>
    <description>The latest articles on Forem by Laurina Ayarah (@toboreeee).</description>
    <link>https://forem.com/toboreeee</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3592218%2F43cf0dac-d46e-4dcf-9e7a-98781f4fd607.png</url>
      <title>Forem: Laurina Ayarah</title>
      <link>https://forem.com/toboreeee</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/toboreeee"/>
    <language>en</language>
    <item>
      <title>[Boost]</title>
      <dc:creator>Laurina Ayarah</dc:creator>
      <pubDate>Sat, 21 Mar 2026 06:21:07 +0000</pubDate>
      <link>https://forem.com/toboreeee/-4kj3</link>
      <guid>https://forem.com/toboreeee/-4kj3</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/toboreeee/its-almost-2026-why-are-we-still-arguing-about-css-vs-tailwind-291f" class="crayons-story__hidden-navigation-link"&gt;It’s almost 2026: Why Are We Still Arguing About CSS vs Tailwind&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="/toboreeee" 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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3592218%2F43cf0dac-d46e-4dcf-9e7a-98781f4fd607.png" alt="toboreeee profile" class="crayons-avatar__image" width="96" height="96"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/toboreeee" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Laurina Ayarah
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Laurina Ayarah
                
              
              &lt;div id="story-author-preview-content-2981402" 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="/toboreeee" 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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3592218%2F43cf0dac-d46e-4dcf-9e7a-98781f4fd607.png" class="crayons-avatar__image" alt="" width="96" height="96"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Laurina Ayarah&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/toboreeee/its-almost-2026-why-are-we-still-arguing-about-css-vs-tailwind-291f" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Nov 1 '25&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/toboreeee/its-almost-2026-why-are-we-still-arguing-about-css-vs-tailwind-291f" id="article-link-2981402"&gt;
          It’s almost 2026: Why Are We Still Arguing About CSS vs Tailwind
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/tailwindcss"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;tailwindcss&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&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/toboreeee/its-almost-2026-why-are-we-still-arguing-about-css-vs-tailwind-291f" 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="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;35&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/toboreeee/its-almost-2026-why-are-we-still-arguing-about-css-vs-tailwind-291f#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              14&lt;span class="hidden s:inline"&gt; comments&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;
            7 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>webdev</category>
      <category>programming</category>
      <category>tailwindcss</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Why Is the Tech Job Market So Brutal Right Now?  (An Honest Look at What Changed)</title>
      <dc:creator>Laurina Ayarah</dc:creator>
      <pubDate>Wed, 21 Jan 2026 20:22:23 +0000</pubDate>
      <link>https://forem.com/toboreeee/why-is-the-tech-job-market-so-brutal-right-now-an-honest-look-at-what-changed-mcd</link>
      <guid>https://forem.com/toboreeee/why-is-the-tech-job-market-so-brutal-right-now-an-honest-look-at-what-changed-mcd</guid>
      <description>&lt;p&gt;I need to tell you something nobody wants to admit.&lt;br&gt;
The "learn to code and get a high-paying remote job" dream? It's not dead, but it's definitely on life support.&lt;/p&gt;

&lt;p&gt;And if you're sitting there wondering why you've sent 200 applications and gotten 3 responses (all rejections), or why that coding bootcamp certificate isn't opening doors as they promised, or why companies want "entry-level developers with 3 years of experience", you're not crazy.&lt;/p&gt;

&lt;p&gt;The game changed and most people are still playing by the old rules.&lt;br&gt;
I'm writing this because I'm in it too. I'm watching friends with Computer Science degrees struggle to get interviews. I'm seeing talented developers give up after months of silence. I'm experiencing firsthand how brutal this market has become.&lt;/p&gt;

&lt;p&gt;This isn't a success story. This isn't "10 tips to land your dream job." This is an honest look at what the hell happened to the tech job market, and what might actually help if you're trying to break in right now.&lt;/p&gt;

&lt;h2&gt;
  
  
  Remember When "Learn to Code" Was the Answer to Everything?
&lt;/h2&gt;

&lt;p&gt;2020 was a different world.&lt;br&gt;
Tech companies were hiring like crazy. Remote work exploded. Everyone and their uncle was starting a SaaS company. VC money was flowing like water. Bootcamps were popping up everywhere, promising six-figure salaries after 12 weeks of training.&lt;br&gt;
The narrative was simple: "Tech is the future. Learn to code. Get a remote job. Make $100k. Work from anywhere."&lt;br&gt;
And for a while? It was kind of true.&lt;br&gt;
Companies were desperate for developers. They'd hire bootcamp grads. They'd take chances on self-taught developers with decent portfolios. Junior positions actually existed. "Entry-level" meant entry-level.&lt;br&gt;
Fast forward to 2026, and it's like someone flipped a switch.&lt;/p&gt;

&lt;p&gt;Now you see job postings like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Junior Developer (3–5 years experience required)"&lt;/li&gt;
&lt;li&gt;"Entry-level position (must be proficient in React, TypeScript, Node.js, AWS, Docker, Kubernetes…)"&lt;/li&gt;
&lt;li&gt;"Hiring freeze until further notice"&lt;/li&gt;
&lt;li&gt;Or worse, no postings at all.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What happened?&lt;/p&gt;

&lt;h2&gt;
  
  
  The Perfect Storm: Why Everything Changed at Once
&lt;/h2&gt;

&lt;p&gt;This isn't just one thing. It's everything hitting at the same time.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Money Dried Up (And Tech Companies Panicked)
&lt;/h3&gt;

&lt;p&gt;Let's start with the big one: money.&lt;/p&gt;

&lt;p&gt;For years, tech companies were running on cheap money. Interest rates were near zero. Investors were throwing cash at anything with "AI" or "blockchain" in the pitch deck. Growth was everything. Profitability? Who cares, we'll figure that out later.&lt;/p&gt;

&lt;p&gt;Then 2022–2023 happened. Interest rates shot up. Suddenly, that free-flowing VC money became expensive. Investors started asking uncomfortable questions like "When will you actually make money?"&lt;/p&gt;

&lt;p&gt;And tech companies responded by doing what they do best when they panic: mass layoffs.&lt;br&gt;
Google laid off 12,000 people. Meta cut 21,000 jobs. Amazon let go of 27,000 employees. Microsoft, Twitter, Salesforce, Stripe, the list goes on. We're talking about hundreds of thousands of experienced tech workers suddenly looking for jobs.&lt;/p&gt;

&lt;p&gt;Now imagine you're a junior developer competing against someone who just got laid off from Google with 5 years of experience. Who do you think companies are hiring?&lt;/p&gt;

&lt;p&gt;Yeah.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Became the Excuse for Everything
&lt;/h2&gt;

&lt;p&gt;Then there's the AI elephant in the room.&lt;br&gt;
ChatGPT launched in November 2022, and suddenly, every CEO decided they could do more with fewer people. Not because AI actually replaced developers (it hasn't), but because it gave them the perfect excuse to cut hiring.&lt;/p&gt;

&lt;p&gt;"AI will handle the simple tasks." "We need fewer junior developers now." "AI makes our senior developers more productive."&lt;/p&gt;

&lt;p&gt;And you know what? Some of that is true. GitHub Copilot can write boilerplate code. ChatGPT can debug basic errors. AI tools are genuinely making certain tasks faster.&lt;/p&gt;

&lt;p&gt;But here's what they're not telling you: AI still needs humans to guide it, review it, and fix its mistakes. The technology isn't replacing developers, it's changing what skills matter.&lt;/p&gt;

&lt;p&gt;The problem is companies are using AI as justification to not hire, not train, and not invest in junior talent. They're looking at the hype and making decisions based on fear and cost-cutting, not reality.&lt;/p&gt;

&lt;h2&gt;
  
  
  Everyone Learned to Code (At the Same Time)
&lt;/h2&gt;

&lt;p&gt;Remember the pandemic?&lt;br&gt;
Everyone was stuck at home. Everyone was anxious about job security. And everyone heard the same advice: "Learn to code!"&lt;br&gt;
Bootcamps exploded. Online courses had record enrollments. YouTube tutorials went viral. Millions of people started learning web development, data science, and software engineering.&lt;/p&gt;

&lt;p&gt;Which sounds great for inclusion and accessibility. And it is! More people having tech skills is genuinely good.&lt;/p&gt;

&lt;p&gt;But it also means the market is now flooded with junior developers who all have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The same bootcamp certificates&lt;/li&gt;
&lt;li&gt;The same portfolio projects (to-do apps, weather apps, Netflix clones)&lt;/li&gt;
&lt;li&gt;The same GitHub with tutorial code&lt;/li&gt;
&lt;li&gt;No real work experience&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When 100 junior developers were competing for 50 jobs, you had a decent shot. When there are 10,000 competing for 5 jobs? The math just doesn't work.&lt;/p&gt;

&lt;p&gt;And companies responded by raising the bar. Why hire someone with 6 months of bootcamp training when you can hire someone with a CS degree and internship experience? Why take a chance on a self-taught developer when you have laid-off senior developers willing to take junior salaries?&lt;/p&gt;

&lt;p&gt;The supply-demand equation broke.&lt;/p&gt;

&lt;h2&gt;
  
  
  The "Entry-Level Experience" Paradox Got Worse
&lt;/h2&gt;

&lt;p&gt;You've seen it. We've all seen it.&lt;/p&gt;

&lt;p&gt;"Entry-level position. Requirements: 3–5 years of professional experience."&lt;/p&gt;

&lt;p&gt;This has always been frustrating, but it's gotten exponentially worse. Companies are genuinely posting junior roles with senior requirements because they can. The market is so saturated that they can afford to be unrealistic.&lt;/p&gt;

&lt;p&gt;They want someone who can start contributing from day one. No training period. No onboarding costs. Just plug and play.&lt;br&gt;
Which would be fine if there were also actual entry-level roles for people to get that first year or two of experience. But those positions have largely disappeared.&lt;/p&gt;

&lt;p&gt;Internships are more competitive than ever. Junior roles get hundreds of applications. Companies aren't investing in training programs like they used to.&lt;/p&gt;

&lt;p&gt;It's a catch-22: Can't get experience without a job, can't get a job without experience. And the gap keeps widening.&lt;/p&gt;

&lt;h2&gt;
  
  
  Remote Work Became a Double-Edged Sword
&lt;/h2&gt;

&lt;p&gt;The pandemic normalised remote work, which seemed like a huge win for developers. Work from anywhere! No geographic limitations! Access to global opportunities!&lt;br&gt;
Except it works both ways.&lt;/p&gt;

&lt;p&gt;Now you're not just competing with developers in your city or country. You're competing with developers globally. That remote job at a US company? You're competing with candidates from India, the Philippines, Eastern Europe, Latin America, and everywhere else.&lt;/p&gt;

&lt;p&gt;And many companies discovered they can hire senior developers from countries with lower costs of living for the same price they'd pay a junior developer in expensive markets.&lt;/p&gt;

&lt;p&gt;Why hire a junior developer in San Francisco when you can hire a senior developer in Nigeria or Poland for less?&lt;/p&gt;

&lt;p&gt;Plus, many companies started pulling back on remote work entirely. "Return to office" mandates cut the number of truly remote positions. Even "remote" jobs often have geographic restrictions now.&lt;/p&gt;

&lt;p&gt;The advantage remote work promised to international developers? It's being eroded by these same market forces.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Africa-Specific Layer (Because Location Still Matters)
&lt;/h2&gt;

&lt;p&gt;If you're in Africa; Nigeria, Kenya, Ghana, South Africa, anywhere on the continent, you're dealing with all of the above plus some extra challenges.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Infrastructure Tax
&lt;/h3&gt;

&lt;p&gt;Let's be real: reliable power and internet aren't guaranteed. And for remote tech work, they're non-negotiable.&lt;br&gt;
You might be the best developer in the room, but if your internet cuts out during a client call, or you can't meet deadlines because power has been out for 8 hours, that's a problem.&lt;br&gt;
International clients worry about this. They've heard the stories. They've had bad experiences. And unfortunately, you pay the "trust tax" for it even if your personal setup is solid.&lt;/p&gt;

&lt;h3&gt;
  
  
  Payment Platform Restrictions
&lt;/h3&gt;

&lt;p&gt;Stripe doesn't work in Nigeria. PayPal is limited. Payoneer has fees. Wise has restrictions.&lt;/p&gt;

&lt;p&gt;Getting paid as a freelancer or contractor is genuinely harder from Africa. And many international companies don't want to deal with the complexity.&lt;/p&gt;

&lt;p&gt;"We only hire contractors who can invoice through Stripe" eliminates you before the conversation even starts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Currency Devaluation Pressure
&lt;/h2&gt;

&lt;p&gt;The naira has lost significant value. The cedi is struggling. Many African currencies are under pressure.&lt;br&gt;
Which means two things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Local salaries can't keep up with inflation. That ₦200,000/month job from last year is worth significantly less today.&lt;/li&gt;
&lt;li&gt;Dollar-paying remote jobs become even more competitive. Everyone wants to earn in dollars or euros, which makes those positions brutally competitive.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You're not just competing for jobs, you're competing for economic survival.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Local Market Maturity Gap
&lt;/h3&gt;

&lt;p&gt;The African tech market is growing, but it remains immature in most places.&lt;br&gt;
There are fewer tech companies. The startups that exist are struggling to raise funding. Corporate digital transformation is slow. Many businesses still don't see tech as essential or they want it done as cheaply as possible.&lt;/p&gt;

&lt;p&gt;"My cousin can build a website for ₦30,000" is still a common response.&lt;br&gt;
This means fewer local opportunities, increased competition for international remote work, and pressure to undervalue your skills just to gain experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Time Zone Challenge
&lt;/h3&gt;

&lt;p&gt;Most high-paying tech jobs are in the US or European time zones. Which means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Interview scheduling is complicated&lt;/li&gt;
&lt;li&gt;Real-time collaboration is difficult&lt;/li&gt;
&lt;li&gt;You might need to work odd hours&lt;/li&gt;
&lt;li&gt;Asynchronous communication becomes critical&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some companies love hiring in different time zones for round-the-clock coverage. Others see it as a dealbreaker. And you can't always tell which one you're dealing with until you're deep in the process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Entry-Level Developers Got Hit Hardest
&lt;/h2&gt;

&lt;p&gt;Here's the uncomfortable truth: when companies tighten budgets, junior developers are the first to go.&lt;/p&gt;

&lt;h3&gt;
  
  
  Training Is Expensive
&lt;/h3&gt;

&lt;p&gt;Junior developers need mentoring. Code reviews. Guidance. Time to ramp up. Senior developers need to spend time teaching instead of shipping features.&lt;br&gt;
When companies are focused on efficiency and cutting costs, training programs get axed. Junior positions get eliminated. They'd rather hire one senior developer who can work independently than two juniors who need support.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI Took the "Learning Tasks"
&lt;/h3&gt;

&lt;p&gt;A lot of what junior developers used to do, writing basic CRUD operations, fixing simple bugs, writing tests, and updating documentation, can now be partially automated by AI tools.&lt;br&gt;
Not completely. Not perfectly. But enough that companies think "we can have our senior devs use AI for this instead of hiring juniors to do it."&lt;br&gt;
Which means the tasks that used to be learning opportunities for junior developers are disappearing. And with them, the justification for junior roles.&lt;/p&gt;

&lt;h3&gt;
  
  
  Risk Aversion in Uncertain Times
&lt;/h3&gt;

&lt;p&gt;When the market is good, companies take chances. They hire promising juniors. They invest in potential.&lt;br&gt;
When the market is uncertain, they play it safe. They want proven skills. Immediate impact. No risk.&lt;br&gt;
Junior developers, by definition, are a risk. You might be great. You might struggle. You need time to prove yourself.&lt;br&gt;
In this market, companies don't want to take that risk.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Skills Paradox: Everyone Has the Same Resume
&lt;/h3&gt;

&lt;p&gt;Here's something I've noticed: most developer portfolios look identical.&lt;br&gt;
Same projects: To-do app. Weather app. E-commerce clone. Netflix clone.&lt;br&gt;
Same skills listed: HTML, CSS, JavaScript, React, Node.js, MongoDB.&lt;br&gt;
Same GitHub: Full of tutorial code and incomplete projects.&lt;br&gt;
Same about section: "Passionate developer eager to learn and grow."&lt;br&gt;
When everyone has the same skills and the same projects, how do you stand out?&lt;br&gt;
You don't. You're just another resume in a pile of 500.&lt;br&gt;
The baseline skills that used to be impressive (knowing React, building a portfolio site, having a GitHub) are now just… expected. They're not differentiators anymore. They're table stakes.&lt;br&gt;
And this creates a problem: what used to get you hired now just gets you in the door. And the door is crowded.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Companies Are Actually Looking For (Hint: It's Changed)
&lt;/h2&gt;

&lt;p&gt;From what I've learned and noticed, the job requirements haven't just gotten harder; they've gotten different.&lt;/p&gt;

&lt;h3&gt;
  
  
  They Want Specialists, Not Generalists
&lt;/h3&gt;

&lt;p&gt;"Full-stack developer" used to be impressive. Now it's generic.&lt;br&gt;
Companies want depth, not breadth. They want someone exceptional at one thing, not mediocre at everything.&lt;br&gt;
"Expert in React performance optimisation" is more valuable than "knows React, Vue, Angular, and Svelte."&lt;br&gt;
"Specialised in building accessible UIs" beats "can do frontend and backend and mobile and…"&lt;/p&gt;

&lt;h3&gt;
  
  
  They Want Proof, Not Potential
&lt;/h3&gt;

&lt;p&gt;"I'm eager to learn" doesn't cut it anymore.&lt;br&gt;
They want: "Here's a live product I built that 500 people use."&lt;br&gt;
They want: "I contributed to this open-source project and got my PRs merged."&lt;br&gt;
They want: "Here's my technical blog with 10,000 readers where I explain complex concepts."&lt;br&gt;
Potential is cheap. Everyone has potential. Proof is expensive and rare.&lt;/p&gt;

&lt;h3&gt;
  
  
  They Want Communication Skills (More Than Ever)
&lt;/h3&gt;

&lt;p&gt;With remote work and distributed teams, communication isn't just nice to have; it's essential.&lt;br&gt;
Can you write clear documentation? Can you explain technical concepts to non-technical stakeholders? Can you collaborate asynchronously across time zones?&lt;br&gt;
Technical skills might get you the interview. Communication skills get you the job.&lt;/p&gt;

&lt;h3&gt;
  
  
  They Want People Who Can Work Independently
&lt;/h3&gt;

&lt;p&gt;Hand-holding is expensive. Training is expensive. Constant questions are expensive.&lt;/p&gt;

&lt;p&gt;They want developers who can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Figure things out independently&lt;/li&gt;
&lt;li&gt;Ask good questions when stuck&lt;/li&gt;
&lt;li&gt;Manage their own time and priorities&lt;/li&gt;
&lt;li&gt;Ship features without constant oversight&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Which, again, disadvantages junior developers who are still learning these skills.
&lt;/h2&gt;

&lt;p&gt;What Might Actually Help (No BS, Just Honest Strategies)&lt;br&gt;
I can't promise these will get you a job. The market is tough, and sometimes it's just bad luck or bad timing.&lt;br&gt;
But here's what seems to be working for people who are breaking through:&lt;br&gt;
&lt;strong&gt;1. Go Niche (Really Niche)&lt;/strong&gt;&lt;br&gt;
Stop being "a frontend developer." Start being "the developer who builds e-commerce sites for Nigerian fashion brands" or "the specialist in making government websites accessible."&lt;br&gt;
Niching feels scary because you think you're limiting opportunities. But you're actually making yourself more visible to a specific group that needs exactly what you do.&lt;br&gt;
&lt;strong&gt;2. Build in Public&lt;/strong&gt;&lt;br&gt;
Document your learning. Share your projects. Write about what you're building and why.&lt;br&gt;
Not for clout. Not to go viral. But to create a paper trail that shows:&lt;br&gt;
You actually ship things&lt;br&gt;
You can explain your thinking&lt;br&gt;
You're consistently learning and improving&lt;/p&gt;

&lt;p&gt;This is more impressive than any portfolio.&lt;br&gt;
&lt;strong&gt;3. Contribute to Real Open Source (Not Just Beginner-Friendly Repos)&lt;/strong&gt;&lt;br&gt;
Everyone knows the "find an issue labelled 'good first issue'" advice.&lt;br&gt;
Go deeper. Find a project you actually use. Spend a month understanding the codebase. Then make a meaningful contribution.&lt;br&gt;
One substantial PR to a real project is worth more than 20 tiny contributions to "beginner-friendly" repos.&lt;br&gt;
&lt;strong&gt;4. Solve Actual Problems (Not Tutorial Problems)&lt;/strong&gt;&lt;br&gt;
Build something someone actually needs. Even if it's just your friend's small business website or a tool for your local community.&lt;br&gt;
"I built a booking system for my uncle's barbershop that handles 50 appointments a week" is infinitely more interesting than "I built a Netflix clone following a YouTube tutorial."&lt;br&gt;
Real problems have constraints, edge cases, and users. Tutorial problems don't.&lt;br&gt;
&lt;strong&gt;5. Network Locally (Not Just Online)&lt;/strong&gt;&lt;br&gt;
Twitter applications disappear into the void. LinkedIn cold messages get ignored.&lt;br&gt;
But showing up to local tech meetups, developer communities, and startup events? That creates relationships.&lt;br&gt;
Most jobs come from referrals. Referrals come from people who actually know you. And people get to know you in person or through sustained online relationships, not from a cold email.&lt;br&gt;
&lt;strong&gt;6. Add Adjacent Skills&lt;/strong&gt;&lt;br&gt;
Pure coding skills are commoditized. Coding + something else is valuable.&lt;br&gt;
Developer + designer = rare and valuable&lt;br&gt;
Developer + writer = technical writing opportunities&lt;br&gt;
Developer + domain expertise (healthcare, finance, education) = specialized roles&lt;br&gt;
Developer + data analysis = product-focused roles&lt;/p&gt;

&lt;p&gt;Don't just be another developer. Be a developer who brings something extra.&lt;br&gt;
&lt;strong&gt;7. Be Realistic About Timeline&lt;/strong&gt;&lt;br&gt;
This sucks to hear, but it might take longer than you thought.&lt;br&gt;
Not because you're not good enough. Not because you're doing something wrong. But because the market is genuinely tough right now.&lt;br&gt;
Six months of job searching is becoming normal for junior developers. A year isn't unheard of.&lt;br&gt;
That doesn't mean give up. It means adjust expectations and plan accordingly. Keep learning. Keep building. Keep applying. But also keep your day job or freelance income flowing because this might take a while.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Consider Alternative Entry Points&lt;/strong&gt;&lt;br&gt;
If direct-hire developer roles aren't working:&lt;br&gt;
Freelancing (smaller projects to build experience and income)&lt;br&gt;
Contract work (temp roles that might convert to permanent)&lt;br&gt;
Agencies often hire more junior devs than product companies.&lt;br&gt;
Startups (more willing to take chances, though often lower pay)&lt;br&gt;
Adjacent roles (QA, technical support, technical writing) that get you in the door&lt;/p&gt;

&lt;p&gt;These aren't failures. They're strategic entry points that build experience and connections.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Uncomfortable Truth Nobody Wants to Say
&lt;/h2&gt;

&lt;p&gt;The "learn to code = guaranteed job" narrative was oversold.&lt;br&gt;
Not because coding isn't valuable. It is.&lt;/p&gt;

&lt;p&gt;But because the market changed faster than the narrative did. The promise was made when the market was hot. Now it's cold. And people are still making decisions based on old information.&lt;br&gt;
Does that mean learning to code was a waste of time? No.&lt;br&gt;
Does it mean everyone who learns to code will get a high-paying tech job? Also no.&lt;/p&gt;

&lt;p&gt;The truth is messier: tech skills are valuable, but they're not a guaranteed meal ticket anymore. The market is oversaturated at the entry level, undersupplied at specialist levels, and in flux everywhere else.&lt;/p&gt;

&lt;p&gt;Some people will break through quickly. Others will struggle for months. Some will need to pivot or add skills. Others will find success in unexpected places.&lt;br&gt;
There's no one path anymore. And anyone selling you a guaranteed path is lying.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Happens Next? (Looking Forward)
&lt;/h2&gt;

&lt;p&gt;The market will shift again. It always does.&lt;br&gt;
AI will stabilize from hype to reality. Companies will realize they actually do need developers (just different kinds). The economic cycle will turn. New technologies will create new opportunities.&lt;br&gt;
But when? How? Nobody knows.&lt;br&gt;
What we do know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Junior positions will probably stay rare for a while. Companies are prioritizing experienced hires.&lt;/li&gt;
&lt;li&gt;Specialization will matter more. Being good at one thing beats being okay at everything.&lt;/li&gt;
&lt;li&gt;Non-technical skills will differentiate. Communication, problem-solving, business understanding, these separate good developers from great ones.&lt;/li&gt;
&lt;li&gt;Alternative paths will become more common. Fewer people will go straight from boot camp to a full-time dev job. More will freelance, contract, contribute to open source, or enter through adjacent roles.&lt;/li&gt;
&lt;li&gt;The African opportunity is still there, but it requires different strategies. Building for local markets, solving local problems, and creating products for African users might be more sustainable than competing for international remote roles.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Thoughts: You're Not Crazy, the Market Is
&lt;/h2&gt;

&lt;p&gt;If you're struggling to get a tech job right now, it's not because you're not good enough.&lt;/p&gt;

&lt;p&gt;It's because you're entering the market at one of the hardest times in recent tech history.&lt;/p&gt;

&lt;p&gt;Layoffs. AI hype. Market saturation. Economic uncertainty. Everything hit at once.&lt;br&gt;
That doesn't make it easier. But maybe it makes it less personal.&lt;/p&gt;

&lt;p&gt;You're not failing. You're navigating a genuinely difficult situation that's affecting thousands of talented people.&lt;br&gt;
Keep building. Keep learning. Keep applying. But also be kind to yourself. The market is brutal right now, and that's not your fault.&lt;/p&gt;

&lt;p&gt;Some of you will break through next month. Some will take a year. Some will find success in unexpected directions.&lt;br&gt;
But if you're still in the game, still learning, still trying, you're doing better than you think.&lt;br&gt;
The tech job market is brutal right now.&lt;br&gt;
But it's not forever.&lt;/p&gt;

&lt;p&gt;And knowing what you're actually up against? That's the first step to figuring out how to navigate it.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;If this resonated with you, share it with other developers who need to hear this. We're all figuring this out together.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What's your experience with the current tech job market? Drop your story in the comments, let's talk about what's really happening out there.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>career</category>
      <category>discuss</category>
      <category>beginners</category>
    </item>
    <item>
      <title>What Clients ACTUALLY Want From Frontend Devs (Not Clean Code)</title>
      <dc:creator>Laurina Ayarah</dc:creator>
      <pubDate>Sat, 10 Jan 2026 13:24:46 +0000</pubDate>
      <link>https://forem.com/toboreeee/what-clients-actually-want-from-frontend-developers-1bm7</link>
      <guid>https://forem.com/toboreeee/what-clients-actually-want-from-frontend-developers-1bm7</guid>
      <description>&lt;p&gt;Clean code doesn't get you hired. This does.&lt;/p&gt;

&lt;p&gt;I learned this the hard way.&lt;br&gt;
I spent years obsessing over best practices. Learning the latest frameworks. Writing DRY code. Organizing my files perfectly. Following every convention I could find.&lt;br&gt;
Then I started working with real clients, and none of that mattered as much as I thought it would.&lt;br&gt;
Don't get me wrong, technical skills matter. But they're just the baseline. The entry ticket. What actually determines whether clients hire you again, refer you to others, or leave you great reviews?&lt;/p&gt;

&lt;p&gt;It's everything else.&lt;/p&gt;

&lt;p&gt;The stuff nobody talks about in developer forums or YouTube tutorials. The soft skills. The business understanding. The communication. The things that have nothing to do with JavaScript but everything to do with getting paid.&lt;br&gt;
Let me break down what clients actually care about, from someone who's been learning this in real time.&lt;/p&gt;

&lt;h3&gt;
  
  
  They Want to Understand What You're Doing (In Plain English)
&lt;/h3&gt;

&lt;p&gt;Picture this: A client asks you to add a feature to their website. You dive into the code, implement it beautifully, and send them a message:&lt;br&gt;
"I've refactored the component architecture and implemented a custom hook for state management. The API calls are now memoized for better performance, and I've added proper error boundaries."&lt;br&gt;
The client reads this and thinks, "What did any of that mean? Did you actually do what I asked?"&lt;/p&gt;

&lt;p&gt;Here's the thing: most clients aren't technical. They don't know what React hooks are. They don't care about your component architecture. They just want to know: "Did you add the feature? Does it work? When can I see it?"&lt;br&gt;
Technical jargon makes you sound smart to other developers. To clients, it sounds like you're either showing off or hiding something.&lt;/p&gt;

&lt;p&gt;What they actually want to hear:&lt;br&gt;
"Yes, I added the contact form as you requested. It now collects name, email, and message, and sends everything to your inbox. I also added validation so people can't submit blank forms. You can test it here: [link]"&lt;/p&gt;

&lt;p&gt;Simple. Clear. Actionable.&lt;/p&gt;

&lt;p&gt;Save the technical details for your documentation or when they specifically ask. In regular communication, speak like a human talking to another human, not a developer talking to a code review bot.&lt;/p&gt;

&lt;h3&gt;
  
  
  They Want Honesty More Than They Want "Yes"
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Clients will ask for things that are:&lt;/li&gt;
&lt;li&gt;Technically possible but extremely time-consuming&lt;/li&gt;
&lt;li&gt;Bad ideas that will hurt their website&lt;/li&gt;
&lt;li&gt;Features that already exist, but they don't know how to use them&lt;/li&gt;
&lt;li&gt;Completely outside the original scope&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your instinct might be to just say "yes" to everything. Keep the client happy. Don't rock the boat.&lt;br&gt;
But here's what I've learned: &lt;strong&gt;clients respect honesty more than they respect compliance.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If a client asks you to add 17 different animations to their homepage because "it needs to pop," you could just do it. Spend hours implementing animations that will make the site slower, harder to maintain and honestly, kind of annoying to use.&lt;/p&gt;

&lt;p&gt;Or you could say:&lt;br&gt;
"I can definitely add animations, but I want to make sure we're using them strategically. Too many animations can actually slow down the site and distract from your main message. What if we focus on 2–3 key areas where animation would really enhance the user experience? That way, we get impact without overwhelming visitors."&lt;/p&gt;

&lt;p&gt;Notice what happened there:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You didn't just say "no"&lt;/li&gt;
&lt;li&gt;You explained why their idea might not work&lt;/li&gt;
&lt;li&gt;You offered an alternative solution&lt;/li&gt;
&lt;li&gt;You positioned yourself as someone who cares about their success, not just about getting paid&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Clients who just want you to do whatever they say without question usually aren't great anyway. The good ones appreciate when you push back respectfully and offer better solutions.&lt;br&gt;
You're not just a code executor. You're a consultant. Act like it.&lt;/p&gt;

&lt;h3&gt;
  
  
  They Want to See Progress (Not Just the Final Product)
&lt;/h3&gt;

&lt;p&gt;This is huge, and so many developers get it wrong.&lt;/p&gt;

&lt;p&gt;You take on a project. You estimate it'll take two weeks. The client agrees. You go silent for 13 days, work frantically to finish, then deliver everything on day 14.&lt;/p&gt;

&lt;p&gt;From your perspective, you did exactly what you promised. You delivered on time.&lt;/p&gt;

&lt;p&gt;From the client's perspective, you disappeared for almost two weeks, and they had no idea if you were even working on it. They were stressed. Wondering if you ghosted them. Questioning whether they should follow up or wait.&lt;/p&gt;

&lt;p&gt;Even if you deliver great work, that anxiety sours the experience.&lt;br&gt;
What clients actually want: regular updates.&lt;br&gt;
Even if there's nothing major to report, just send a quick message:&lt;/p&gt;

&lt;p&gt;"Hey! Quick update: I've finished the homepage layout and navigation. Working on the contact form now. Should have that done by tomorrow. Everything's on track."&lt;/p&gt;

&lt;p&gt;That's it. 30 seconds to write. But it completely changes the client experience.&lt;br&gt;
They're no longer anxious. They can see progress. They know you're working. They feel involved.&lt;/p&gt;

&lt;p&gt;And when the project wraps up, they remember how smooth and stress-free it was, even if there were bumps along the way.&lt;/p&gt;

&lt;h3&gt;
  
  
  They Want Problems Solved Before They Become Disasters
&lt;/h3&gt;

&lt;p&gt;Clients don't know what they don't know.&lt;br&gt;
They'll ask you to build a website and forget to mention that they need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A way to update content themselves&lt;/li&gt;
&lt;li&gt;Mobile optimization&lt;/li&gt;
&lt;li&gt;Fast loading times&lt;/li&gt;
&lt;li&gt;Contact forms that actually work&lt;/li&gt;
&lt;li&gt;Security measures&lt;/li&gt;
&lt;li&gt;Backup systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They assume all of this is just… included. Because they don't understand that these are separate considerations.&lt;/p&gt;

&lt;p&gt;If you just build what they ask for and nothing else, they'll launch the site, realize it doesn't work on mobile, and blame you.&lt;/p&gt;

&lt;p&gt;"Why didn't you tell me it wouldn't work on phones?"&lt;br&gt;
"You didn't ask for mobile optimization."&lt;br&gt;
"I didn't know I had to ask!"&lt;/p&gt;

&lt;p&gt;And now you have an unhappy client, even though technically you did what they asked.&lt;/p&gt;

&lt;p&gt;This is where good developers separate from great ones.&lt;br&gt;
Great developers anticipate problems and address them proactively:&lt;/p&gt;

&lt;p&gt;"Hey, just a heads up, I noticed you didn't mention mobile optimization in the requirements. These days, about 70% of web traffic comes from phones, so I'd strongly recommend we make sure the site works well on mobile. I can include that in the project if you'd like."&lt;/p&gt;

&lt;p&gt;Now you've:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Shown expertise&lt;/li&gt;
&lt;li&gt;Prevented a future problem&lt;/li&gt;
&lt;li&gt;Potentially increased the project scope (and your pay)&lt;/li&gt;
&lt;li&gt;Positioned yourself as someone who cares about their success&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Clients remember this. They tell other people about developers who "just get it" and save them from mistakes they didn't even know they were about to make.&lt;/p&gt;

&lt;h3&gt;
  
  
  They Want Fast Responses (Even If You Don't Have Fast Solutions)
&lt;/h3&gt;

&lt;p&gt;You know what kills client relationships faster than anything?&lt;/p&gt;

&lt;p&gt;Going silent.&lt;/p&gt;

&lt;p&gt;A client sends you a message. You see it. But you're in the middle of debugging something, so you think, "I'll respond when I'm done."&lt;br&gt;
Three hours later, you're still debugging. You forget to respond.&lt;br&gt;
The next day, the client follows up: "Hey, did you see my message?"&lt;/p&gt;

&lt;p&gt;Now they're annoyed. Not because you couldn't solve their problem immediately, but because you made them wonder if you even saw their message.&lt;/p&gt;

&lt;p&gt;Here's the fix: acknowledge immediately, solve later.&lt;br&gt;
&lt;strong&gt;Client:&lt;/strong&gt; "Hey, the contact form isn't working. Can you check it?"&lt;br&gt;
&lt;strong&gt;You&lt;/strong&gt; (immediately): "Just saw this! Looking into it now. I'll get back to you within the hour with an update."&lt;br&gt;
That's it. 10 seconds to write. But the client knows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You saw their message&lt;/li&gt;
&lt;li&gt;You're working on it&lt;/li&gt;
&lt;li&gt;They can expect an update soon&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even if the fix takes 3 hours, they're not anxious because you communicated.&lt;br&gt;
Fast responses don't mean fast solutions. They just mean you're present and engaged.&lt;/p&gt;

&lt;h3&gt;
  
  
  They Want to Feel Like Their Project Matters
&lt;/h3&gt;

&lt;p&gt;Most developers are juggling multiple projects. Maybe you're working on 3–4 sites at once. That's normal.&lt;br&gt;
But clients don't care about your other projects. They care about theirs.&lt;/p&gt;

&lt;p&gt;If a client asks about the timeline and you say, "I'm working on a few other projects right now, so it might take longer," they hear: "Your project isn't my priority."&lt;/p&gt;

&lt;p&gt;Even if that's not what you meant.&lt;/p&gt;

&lt;p&gt;Instead, say: "I'm committed to delivering quality work on your site. Based on the scope, I estimate it'll take about two weeks. I'll keep you updated on progress throughout."&lt;/p&gt;

&lt;p&gt;See the difference?&lt;br&gt;
The first response makes them feel like an afterthought. The second makes them feel like you're dedicated to their success.&lt;/p&gt;

&lt;p&gt;Small language shifts. Big perception difference.&lt;/p&gt;

&lt;h3&gt;
  
  
  They Want Reasonable Pricing (Not Necessarily Cheap Pricing)
&lt;/h3&gt;

&lt;p&gt;Here's a mistake I see a lot: developers pricing themselves based on what they think clients want to pay, not what the work is actually worth.&lt;/p&gt;

&lt;p&gt;"I'll just charge $100 for this website so I can get the client."&lt;/p&gt;

&lt;p&gt;Then you spend 40 hours on the project. That's $2.50 per hour. You're working skilled labour for unskilled wages.&lt;/p&gt;

&lt;p&gt;And here's the kicker: the client doesn't even appreciate the low price. They either think:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The work must not be very good if it's that cheap&lt;/li&gt;
&lt;li&gt;Or they take advantage and ask for endless revisions because "it's not that expensive anyway"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cheap pricing attracts cheap clients.&lt;/p&gt;

&lt;p&gt;What clients actually want is reasonable pricing for the value they're getting.&lt;/p&gt;

&lt;p&gt;If you build them a website that helps them get more customers, make more sales, and grow their business, that's worth way more than $100.&lt;/p&gt;

&lt;p&gt;Price based on value, not hours.&lt;/p&gt;

&lt;p&gt;And when a client says, "That's too expensive," don't immediately drop your price. Ask questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"What's your budget for this project?"&lt;/li&gt;
&lt;li&gt;"What results are you hoping the website will bring?"&lt;/li&gt;
&lt;li&gt;"What happens if you don't have a professional website?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sometimes they genuinely can't afford you, and that's fine.&lt;br&gt;
 Not every client is a fit.&lt;/p&gt;

&lt;p&gt;But often, they just need to understand why it costs what it costs. And once they see the value, price becomes less of an issue.&lt;/p&gt;

&lt;h3&gt;
  
  
  They Want Someone Who Takes Ownership
&lt;/h3&gt;

&lt;p&gt;Clients don't want to micromanage you. They want to trust that you've got it handled.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If something breaks, you fix it (or let them know immediately)&lt;/li&gt;
&lt;li&gt;If you spot a problem, you address it&lt;/li&gt;
&lt;li&gt;If there's a better way to do something, you suggest it&lt;/li&gt;
&lt;li&gt;If you make a mistake, you own it and correct it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Clients aren't looking for perfection. They're looking for responsibility.&lt;/p&gt;

&lt;p&gt;I've seen developers lose clients not because they made mistakes, but because they made excuses.&lt;/p&gt;

&lt;p&gt;"The hosting is slow, that's why the site is slow." "The images you sent were too big, that's why they don't load." "You didn't tell me you needed that feature, so I didn't build it."&lt;/p&gt;

&lt;p&gt;Maybe all of that is technically true. But it sounds like you're deflecting blame instead of solving problems.&lt;br&gt;
Compare that to:&lt;/p&gt;

&lt;p&gt;"The site is loading slower than I'd like. I'm going to optimize the images and look into the hosting to see if we need an upgrade. I'll have an update for you tomorrow."&lt;/p&gt;

&lt;p&gt;Same situation. Completely different response.&lt;/p&gt;

&lt;p&gt;One makes the client feel like you're pointing fingers. The other makes them feel like you're handling it.&lt;/p&gt;

&lt;h3&gt;
  
  
  They Want to Trust You
&lt;/h3&gt;

&lt;p&gt;At the end of the day, this is what it all comes down to: trust.&lt;br&gt;
Do they trust that you'll deliver what you promised? Do they trust that you'll communicate honestly? Do they trust that you care about their success, not just your paycheck?&lt;/p&gt;

&lt;p&gt;You build trust through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Consistent communication&lt;/li&gt;
&lt;li&gt;Delivering on time (or early)&lt;/li&gt;
&lt;li&gt;Being honest when something won't work&lt;/li&gt;
&lt;li&gt;Proactively solving problems&lt;/li&gt;
&lt;li&gt;Treating their project like it matters&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your code quality matters. Your technical skills matter.&lt;br&gt;
But clients can't see your code quality. They can't evaluate your technical skills.&lt;br&gt;
What they can see is how you make them feel throughout the process.&lt;/p&gt;

&lt;p&gt;And that's what determines whether they hire you again. Whether they refer you to others. Whether they leave you a great review or testimonial.&lt;/p&gt;

&lt;h3&gt;
  
  
  Final Thoughts: Be a Developer Clients Actually Want to Work With
&lt;/h3&gt;

&lt;p&gt;Thousands of developers can write clean code.&lt;br&gt;
There are far fewer who can write clean code and communicate well and understand business needs &lt;em&gt;and&lt;/em&gt; make clients feel confident and stress-free throughout the process.&lt;/p&gt;

&lt;p&gt;That's the space you want to occupy.&lt;/p&gt;

&lt;p&gt;Because when you do, clients stop shopping around for the cheapest developer. They stop comparing you to 10 other people.&lt;/p&gt;

&lt;p&gt;They just hire you. And they keep hiring you.&lt;/p&gt;

&lt;p&gt;Not because your code is the best (though it should be good).&lt;/p&gt;

&lt;p&gt;But because working with you is easy. And in a world where most developer-client relationships are full of miscommunication, missed deadlines, and frustration, "easy" is incredibly valuable.&lt;/p&gt;

&lt;p&gt;Be the developer who gets it.&lt;br&gt;
Be the one who communicates clearly, solves problems proactively, and treats every project like it matters.&lt;/p&gt;

&lt;p&gt;Your technical skills will get you in the door.&lt;br&gt;
Everything else will keep you in the room.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What’s your experience with client communication?&lt;br&gt;
Drop your stories in the comments 👇&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If this helped you, save it for later, like and share with a dev friend who needs to hear this!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Originally published on &lt;a href="https://medium.com/@tobore/what-clients-actually-want-from-frontend-developers-d500efb38cd4" rel="noopener noreferrer"&gt;Medium.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>career</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>What Is My IP Address?</title>
      <dc:creator>Laurina Ayarah</dc:creator>
      <pubDate>Wed, 17 Dec 2025 00:14:57 +0000</pubDate>
      <link>https://forem.com/toboreeee/what-is-my-ip-address-1apk</link>
      <guid>https://forem.com/toboreeee/what-is-my-ip-address-1apk</guid>
      <description>&lt;p&gt;&lt;strong&gt;And Why It Actually Matters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ever wondered what that string of numbers is that websites see when you visit them? Or why some streaming services know you’re not actually in the US when you’re trying to watch that show?&lt;/p&gt;

&lt;p&gt;That’s your IP address at work.&lt;/p&gt;

&lt;p&gt;And whether you know it or not, it’s following you around the internet, telling websites where you are, who your internet provider is, and sometimes even blocking you from accessing content.&lt;/p&gt;

&lt;p&gt;Let me break down what an IP address actually is, why it matters, and what you can do about it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Check Your IP Address Right Now
&lt;/h2&gt;

&lt;p&gt;Before we dive into the technical stuff, here’s your current IP address:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ip-adress-check.vercel.app/" rel="noopener noreferrer"&gt;Check Your IP Address Here — Live Tool&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I built a simple IP checker tool that shows your public IP, location, ISP, and timezone instantly. &lt;a href="https://ip-adress-check.vercel.app/" rel="noopener noreferrer"&gt;Click here to use it.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That number (and the location info) is what every website you visit can see. Keep that in mind as we go deeper.&lt;/p&gt;

&lt;h2&gt;
  
  
  So… What Is an IP Address?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;IP stands for Internet Protocol.&lt;/strong&gt; Your IP address is essentially your device’s unique identifier on the internet.&lt;/p&gt;

&lt;p&gt;Think of it like this:&lt;/p&gt;

&lt;p&gt;When you send a letter, you need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your address (so they know where to send a reply)&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Their address (so it gets to the right place)&lt;br&gt;
The internet works the same way. When you visit a website:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Your IP address = your return address&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The website’s IP address = where you’re sending your request&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without IP addresses, the internet wouldn’t know where to send data. Your Netflix video wouldn’t know how to reach your laptop. Your email wouldn’t arrive. Nothing would work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In simple terms, your IP address is how the internet finds you.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Does an IP Address Look Like?
&lt;/h2&gt;

&lt;p&gt;There are two types you’ll see:&lt;/p&gt;

&lt;h3&gt;
  
  
  IPv4 (The Old Standard)
&lt;/h3&gt;

&lt;p&gt;Looks like this: &lt;code&gt;192.168.1.1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Four numbers separated by dots. Each number ranges from 0 to 255.&lt;/p&gt;

&lt;p&gt;Problem: We’re running out of IPv4 addresses. There are only about 4.3 billion possible combinations, and with billions of devices online, we’ve basically run out.&lt;/p&gt;

&lt;h3&gt;
  
  
  IPv6 (The New Standard)
&lt;/h3&gt;

&lt;p&gt;Looks like this: &lt;code&gt;2001:0db8:85a3:0000:0000:8a2e:0370:7334&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Way longer. Uses letters and numbers. Looks complicated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good news:&lt;/strong&gt; IPv6 has 340 undecillion possible addresses. That’s 340 with 36 zeros after it. We’re not running out anytime soon.&lt;/p&gt;

&lt;p&gt;Most of the internet still uses IPv4, but IPv6 is slowly taking over.&lt;/p&gt;

&lt;h2&gt;
  
  
  Public IP vs Private IP: What’s the Difference?
&lt;/h2&gt;

&lt;p&gt;Here’s where it gets interesting.&lt;/p&gt;

&lt;h3&gt;
  
  
  Your Public IP Address
&lt;/h3&gt;

&lt;p&gt;This is what the internet sees. It’s assigned by your Internet Service Provider (ISP).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Everyone on your home WiFi shares the same public IP address.&lt;/strong&gt; Your laptop, phone, and smart TV all look like they’re coming from the same place to the outside world.&lt;/p&gt;

&lt;p&gt;Example: &lt;code&gt;203.0.113.45&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Your Private IP Address
&lt;/h3&gt;

&lt;p&gt;This is your device’s address on your LOCAL network (your home WiFi).&lt;/p&gt;

&lt;p&gt;Your router assigns private IPs to each device so they can talk to each other. But these addresses are invisible to the outside internet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; &lt;code&gt;192.168.1.10&lt;/code&gt; (your laptop), &lt;code&gt;192.168.1.11&lt;/code&gt; (your phone)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The tool above shows your PUBLIC IP,&lt;/strong&gt; the one websites see.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Your IP Address Actually Matters
&lt;/h2&gt;

&lt;p&gt;Okay, so you have an IP address. So what? Why does it matter?&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Websites Know Your Location
&lt;/h3&gt;

&lt;p&gt;Your IP address reveals your approximate location. Not your exact address, but usually your city and country.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This is why:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;YouTube knows to show you ads in your language&lt;/li&gt;
&lt;li&gt;Netflix blocks content based on your country&lt;/li&gt;
&lt;li&gt;Google shows you local search results&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Your IP = your digital location tag.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Your Internet Activity Can Be Tracked
&lt;/h3&gt;

&lt;p&gt;Every website you visit sees your IP address. And your ISP (internet provider) can see EVERYTHING you do online, every site you visit, every video you watch.&lt;/p&gt;

&lt;p&gt;In some countries, ISPs are required to log this data. In others, they sell it to advertisers.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Geo-Restrictions Use Your IP
&lt;/h3&gt;

&lt;p&gt;Ever tried to watch a show and got hit with:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“This content is not available in your region”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That’s geo-blocking. They checked your IP, saw your location, and blocked you.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Some Services Ban IPs
&lt;/h3&gt;

&lt;p&gt;Get banned from a forum or game? They probably banned your IP address.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; If you have a dynamic IP (most people do), it changes periodically. So you might get unbanned automatically when your IP changes. Or someone else might get banned because they got assigned your old IP.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fun side effect:&lt;/strong&gt; Sometimes you’ll visit a website and be mysteriously blocked because someone who had your IP before you did something bad.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Hackers (Technically) Can Use Your IP
&lt;/h3&gt;

&lt;p&gt;Let’s be real: &lt;strong&gt;Knowing your IP address alone isn’t that dangerous.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A hacker can’t “hack you” simply by knowing your IP address. But they CAN:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;See your approximate location&lt;/li&gt;
&lt;li&gt;Launch a DDoS attack (flood your connection with traffic to knock you offline)&lt;/li&gt;
&lt;li&gt;Try to exploit vulnerabilities in your router (if you haven’t updated it)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Should you panic?&lt;/strong&gt; No. Your IP address is already semi-public. Every website you visit sees it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Should you be careful?&lt;/strong&gt; Yes. Don’t give out your IP in random forums or chat rooms.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Find Your IP Address (If the Tool Above Didn’t Work)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Quick Method:
&lt;/h3&gt;

&lt;p&gt;Just Google: &lt;strong&gt;“What is my IP”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google will show it instantly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On Windows:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open Command Prompt&lt;/li&gt;
&lt;li&gt;Type: &lt;code&gt;ipconfig&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Look for “IPv4 Address”&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;On Mac/Linux:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open Terminal&lt;/li&gt;
&lt;li&gt;Type: &lt;code&gt;ifconfig&lt;/code&gt; or `ip addr&lt;/li&gt;
&lt;li&gt;Look for your IP address&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;On Mobile:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;iPhone:&lt;/strong&gt; Settings → WiFi → Tap the (i) icon&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Android:&lt;/strong&gt; Settings → Network &amp;amp; Internet → WiFi → Tap your network&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This shows your PRIVATE IP (local network). To see your PUBLIC IP (what websites see), use the tool above or Google it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Can Someone Track You With Your IP Address?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Short answer:&lt;/strong&gt; Kind of, but not really.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What they CAN see:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your approximate location (city/region)&lt;/li&gt;
&lt;li&gt;Your ISP (internet provider)&lt;/li&gt;
&lt;li&gt;Your timezone&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What they CANNOT see:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your exact home address&lt;/li&gt;
&lt;li&gt;Your name&lt;/li&gt;
&lt;li&gt;Your browsing history&lt;/li&gt;
&lt;li&gt;Your personal information&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Exception:&lt;/strong&gt; Law enforcement with a warrant can ask your ISP to reveal who was assigned a specific IP address at a specific time. But random people on the internet can’t do this.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Hide or Change Your IP Address
&lt;/h2&gt;

&lt;p&gt;Want to mask your IP? Here’s how:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Use a VPN (Virtual Private Network)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt; Routes your traffic through a server in another location. Websites see the VPN’s IP, not yours.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Popular VPNs:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NordVPN&lt;/li&gt;
&lt;li&gt;ExpressVPN&lt;/li&gt;
&lt;li&gt;ProtonVPN (has a free tier)&lt;/li&gt;
&lt;li&gt;Mullvad
&lt;strong&gt;Good for:&lt;/strong&gt; Privacy, bypassing geo-restrictions, hiding from your ISP&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Use a Proxy Server
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt; Similar to a VPN, but less secure and usually slower.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good for:&lt;/strong&gt; Quick IP changes, but not for serious privacy&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Use Tor Browser
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt; Routes your traffic through multiple servers (nodes) around the world, making it nearly impossible to trace.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good for:&lt;/strong&gt; Maximum anonymity&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bad for:&lt;/strong&gt; Slow, some sites block Tor users&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Connect to Public WiFi
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt; You’ll have a different IP address from your home network.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Warning:&lt;/strong&gt; Public WiFi is insecure. Use a VPN if you do this.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Ask Your ISP for a New IP
&lt;/h3&gt;

&lt;p&gt;Most ISPs assign dynamic IPs that change periodically. You can sometimes get a new one by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Restarting your router&lt;/li&gt;
&lt;li&gt;Calling your ISP and asking&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Static IP vs Dynamic IP
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Dynamic IP (Most People)
&lt;/h3&gt;

&lt;p&gt;Your ISP assigns you a temporary IP that changes every few days/weeks/months.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt; More privacy (your IP changes), cheaper&lt;br&gt;
&lt;strong&gt;Cons:&lt;/strong&gt; If you’re running a server, your IP change breaks things&lt;/p&gt;

&lt;h3&gt;
  
  
  Static IP (Businesses, Servers)
&lt;/h3&gt;

&lt;p&gt;Your IP never changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pros:&lt;/strong&gt; Good for hosting websites, servers, and remote access&lt;br&gt;
&lt;strong&gt;Cons:&lt;/strong&gt; Costs extra, less privacy&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Most home users have dynamic IPs.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Do You Need to Worry About Your IP Address?
&lt;/h2&gt;

&lt;p&gt;Honestly? Not really.&lt;/p&gt;

&lt;p&gt;Your IP address is like your phone number. It’s semi-public. Websites need it to function. And alone, it’s not that dangerous.&lt;/p&gt;

&lt;h3&gt;
  
  
  You SHOULD care about your IP if:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;You’re worried about ISP tracking&lt;/li&gt;
&lt;li&gt;You need to bypass geo-restrictions&lt;/li&gt;
&lt;li&gt;You’re in a country with heavy internet censorship&lt;/li&gt;
&lt;li&gt;You want more privacy online&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;You DON’T need to panic if:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Someone “found your IP” (they can’t do much with it)&lt;/li&gt;
&lt;li&gt;You accidentally revealed it online&lt;/li&gt;
&lt;li&gt;A website logged it (every website does this)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Quick FAQs
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Q: Can someone find my exact address from my IP?&lt;/strong&gt;&lt;br&gt;
A: No. They can see your city/region, but not your street address.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Does my IP change when I use mobile data vs WiFi?&lt;/strong&gt;&lt;br&gt;
A: Yes. Different networks = different IPs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Can I be tracked in incognito mode?&lt;/strong&gt;&lt;br&gt;
A: Yes. Incognito mode doesn’t hide your IP. It just doesn’t save your browsing history locally.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Do I have the same IP as my neighbour?&lt;/strong&gt;&lt;br&gt;
A: No (unless you’re sharing WiFi). Each household gets its own public IP from the ISP.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Is IPv6 better than IPv4?&lt;/strong&gt;&lt;br&gt;
A: Technically, yes (more addresses, better routing), but for normal users, it doesn’t matter much.&lt;/p&gt;

&lt;h2&gt;
  
  
  In Summary
&lt;/h2&gt;

&lt;p&gt;Your IP address is your internet identity card. It’s necessary for the internet to work, but it also reveals information about you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Should you hide it?&lt;/strong&gt; Depends on your privacy needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Should you panic if someone knows it?&lt;/strong&gt; No.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Should you use a VPN?&lt;/strong&gt; If you care about privacy, yes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Most importantly&lt;/strong&gt;: Your IP address is just one piece of your digital footprint. If you care about privacy, focus on the bigger picture, use HTTPS, strong passwords, two-factor authentication, and be smart about what you share online.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here’s my source code for the IP address checker on my &lt;a href="https://github.com/Tobore005/ip.adress.check" rel="noopener noreferrer"&gt;Github&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Want to hide it?&lt;/strong&gt; Get a VPN.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Want to learn more?&lt;/strong&gt; Drop questions in the comments.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>networking</category>
      <category>cybersecurity</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Is ChatGPT Making You Dumber? How to Use AI Without Killing Your Brain</title>
      <dc:creator>Laurina Ayarah</dc:creator>
      <pubDate>Thu, 27 Nov 2025 13:31:52 +0000</pubDate>
      <link>https://forem.com/toboreeee/is-chatgpt-making-you-dumber-how-to-use-ai-without-killing-your-brain-3lif</link>
      <guid>https://forem.com/toboreeee/is-chatgpt-making-you-dumber-how-to-use-ai-without-killing-your-brain-3lif</guid>
      <description>&lt;p&gt;YOU! Come here. Remember how we all wanted AI to make life easier?&lt;/p&gt;

&lt;p&gt;For school assignments. Better emails. Faster code. Better writing. Instant answers to absolutely everything.&lt;/p&gt;

&lt;p&gt;And it worked.&lt;/p&gt;

&lt;p&gt;But somewhere along the way, something changed. We stopped thinking. We stopped Googling. We stopped trying to figure things out on our own before asking AI to do it for us.&lt;/p&gt;

&lt;p&gt;And now? I’m starting to wonder if AI is quietly making us mentally lazy.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem Nobody Wants to Talk About
&lt;/h2&gt;

&lt;p&gt;Here’s what I’ve noticed in myself and in everyone around me:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We’ve stopped thinking first&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Got a coding problem? Ask ChatGPT.&lt;br&gt;
 Forgot a Git command? Ask AI.&lt;br&gt;
 Don’t understand a concept? Copy-paste the AI explanation without really reading it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We’ve replaced learning with prompting&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Instead of understanding why something works, we just ask AI for the answer, copy it, and move on. We’re becoming really good at asking AI questions and really bad at figuring things out ourselves.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We trust AI outputs blindly.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;How many times have you:&lt;/p&gt;

&lt;p&gt;Copied code from ChatGPT without fully understanding it?&lt;br&gt;
Used AI to write an email and sent it without really reading?&lt;br&gt;
Asked AI for advice and just… did what it said?&lt;br&gt;
I’ve done these, I can’t even lie. Multiple times this week.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Actually Looks Like
&lt;/h2&gt;

&lt;p&gt;Let me give you some real examples:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scenario 1: The Git Command You’ve Used 100 Times&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Last night, I needed to undo my last commit.&lt;/p&gt;

&lt;p&gt;Instead of thinking “oh right, it’s &lt;code&gt;git reset -- soft HEAD~1&lt;/code&gt;" or even Googling it as I used to...&lt;/p&gt;

&lt;p&gt;I just asked ChatGPT.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For a command I’ve used literally hundreds of times.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I didn’t even TRY to remember. I just went straight to ChatGPT because it was “faster.”&lt;/p&gt;

&lt;p&gt;But was it? Or am I just training my brain to stop remembering things?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scenario 2: The Developer Who Can’t Debug&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A junior dev on Twitter tweeted: &lt;em&gt;“ChatGPT wrote this function, but it’s not working. What’s wrong?”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Not &lt;em&gt;“Here’s my code, here’s the error, here’s what I tried.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Just: &lt;em&gt;“AI gave me this, fix it.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;They couldn’t debug their own code because they didn’t write it. They don’t understand it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scenario 3: The Student Who Thought Agile Was a Frontend Framework&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I watched this happen in real-time during a class presentation.&lt;/p&gt;

&lt;p&gt;A student was presenting their project on software development methodologies. Everything sounded good until the Q&amp;amp;A.&lt;/p&gt;

&lt;p&gt;Supervisor asked: “So how does Agile fit into your frontend architecture?”&lt;/p&gt;

&lt;p&gt;The student, without hesitation: &lt;strong&gt;“Agile is a frontend framework...”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Dead silence.&lt;/p&gt;

&lt;p&gt;The professor asked them to explain what they meant. They couldn’t. Just kept saying variations of “it’s a framework for organizing frontend code.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;They had no idea what Agile actually was.&lt;/strong&gt; ChatGPT wrote the entire project, never bothered to understand it either.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Consequences Are Real
&lt;/h2&gt;

&lt;p&gt;Here’s what happens when you rely on AI for everything:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Your Problem-Solving Skills Atrophy&lt;/strong&gt;&lt;br&gt;
When you always have a crutch, you never learn to walk on your own.&lt;/p&gt;

&lt;p&gt;You stop trying to debug. Stop thinking through solutions. Stop figuring out why something broke.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You ask AI.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And when AI isn’t available? You’re stuck.&lt;/p&gt;

&lt;p&gt;Imagine you’re in a coding interview. The internet dropped mid-interview.&lt;/p&gt;

&lt;p&gt;Suddenly, you can’t lean on ChatGPT for syntax you’ve forgotten.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Skill issues? Yes, and a dependence problem.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. You Build Things You Don’t Understand&lt;/strong&gt;&lt;br&gt;
Ever copy a chunk of code from ChatGPT, paste it in your project, and it works… but you have no idea how?&lt;/p&gt;

&lt;p&gt;Cool, your feature shipped.&lt;/p&gt;

&lt;p&gt;But what happens when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It breaks in production?&lt;/li&gt;
&lt;li&gt;You need to modify it?&lt;/li&gt;
&lt;li&gt;Someone asks you to explain your code in an interview?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can’t. Because you didn’t write it. AI did.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Your Memory Gets Weaker&lt;/strong&gt;&lt;br&gt;
Remember when you’d struggle with something, finally figure it out, and then remember it?&lt;/p&gt;

&lt;p&gt;Now? We just re-ask AI every time:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;That Git command you used yesterday? Ask AI again.&lt;/li&gt;
&lt;li&gt;The array method you looked up last week? Ask AI again.&lt;/li&gt;
&lt;li&gt;The concept you had ChatGPT explain three times already? Ask AI again.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;We’re not building knowledge anymore. We’re renting it from AI, over and over.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. You Stop Being Creative&lt;/strong&gt;&lt;br&gt;
AI gives you answers. But creativity comes from exploring without answers.&lt;/p&gt;

&lt;p&gt;From trying things that don’t work. From combining ideas in weird ways. From struggling and then figuring it out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When AI solves everything instantly, you skip the struggle. And the struggle is where creativity lives.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  But Here’s the Thing…
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;AI doesn’t make you dumb&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your usage of it does.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let me say that again: &lt;strong&gt;The tool isn’t the problem. How you use it is.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AI can make you smarter if you use it right.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Use AI Without Becoming Dumb
&lt;/h2&gt;

&lt;p&gt;Here’s how I’m trying to fix this for myself:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Try First, Ask AI Second&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Old habit:&lt;/strong&gt;&lt;br&gt;
 Hit an error → immediately ask ChatGPT&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;New habit:&lt;/strong&gt;&lt;br&gt;
 Hit an error → read the error message → Google it → try to fix it → then ask ChatGPT if stuck&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; You actually learn something. AI becomes a teacher, not a replacement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Ask AI to Explain, Not Just Give Answers&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Bad prompt:&lt;/strong&gt;&lt;br&gt;
 “Write a function that fetches user data”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good prompt:&lt;/strong&gt;&lt;br&gt;
 &lt;em&gt;“Explain how to fetch user data with error handling. What are the steps and why?”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Then write it yourself&lt;/strong&gt; using AI’s explanation as a guide.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Don’t Copy-Paste Code You Don’t Understand&lt;/strong&gt;&lt;br&gt;
If ChatGPT gives you code and you don’t fully get how it works?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ask it to explain line by line.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Or better yet: try to break it. Modify it. See what happens when you change things.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understanding through experimentation &amp;gt; blindly trusting AI&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Use AI as a Debugging Partner, Not a Solution Machine&lt;/strong&gt;&lt;br&gt;
Instead of:&lt;br&gt;
 &lt;em&gt;“My code doesn’t work, fix it”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Try:&lt;br&gt;
 &lt;em&gt;“Here’s my code and the error. What might be causing this? Walk me through debugging steps.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You’re learning to debug, not just getting a fix.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Set Boundaries for AI Usage&lt;/strong&gt;&lt;br&gt;
I’m experimenting with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;30-minute rule&lt;/strong&gt;: Spend 30 minutes trying to solve something myself before asking AI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No AI for basics:&lt;/strong&gt; If it’s fundamental (loops, Git commands, array methods), I force myself to recall it from memory&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Explain it out loud:&lt;/strong&gt; After using AI, I explain the concept to myself. If I can’t, I didn’t learn it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Balanced Truth
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;AI is incredible when used right:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Speeds up boilerplate code&lt;/li&gt;
&lt;li&gt;Helps you learn faster when you’re genuinely stuck&lt;/li&gt;
&lt;li&gt;Explains complex concepts in simple terms&lt;/li&gt;
&lt;li&gt;Acts as a rubber duck/brainstorming partner&lt;/li&gt;
&lt;li&gt;Catches errors you might miss&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;But it’s dangerous when you:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use it to avoid thinking&lt;/li&gt;
&lt;li&gt;Copy without understanding&lt;/li&gt;
&lt;li&gt;Let it replace learning fundamentals&lt;/li&gt;
&lt;li&gt;Become dependent on it for everything&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The difference? Whether you’re using AI as a tool or as a crutch.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Honest Take
&lt;/h2&gt;

&lt;p&gt;I love AI. I use it daily. ChatGPT has legitimately helped me learn faster, debug quicker, and build better.&lt;/p&gt;

&lt;p&gt;But I’ve also noticed myself getting lazier. Less willing to struggle. Quick to outsource thinking.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And that scares me.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because the developers I admire? The writers who inspire me? The people building cool shit?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;They use AI to amplify their skills, not replace them.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;They know when to use it. And when to turn it off and think for themselves.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Real Question
&lt;/h2&gt;

&lt;p&gt;Here’s what I’m asking myself now:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Am I using AI to get better, or am I using AI to avoid getting better?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Am I learning faster, or just appearing to learn while actually understanding less?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Am I building skills, or building dependence?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I don’t have all the answers yet. But I’m paying attention.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The smartest people of this decade won’t be the ones who use AI the most.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;They’ll be the ones who know when not to use it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;They’ll be the ones who:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Struggle first, then optimize with AI&lt;/li&gt;
&lt;li&gt;Understand fundamentals before taking shortcuts&lt;/li&gt;
&lt;li&gt;Use AI as a teacher, not a brain replacement&lt;/li&gt;
&lt;li&gt;Know the difference between &lt;em&gt;speed and understanding&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;AI isn’t making us dumb.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But if we’re not careful, we’ll use it to make ourselves dumb.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So, are you using AI to get smarter? Or are you letting it make you lazy?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Be honest. Because I’m still figuring it out myself.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What’s your relationship with AI? Are you noticing this in yourself too? Drop your thoughts in the comments. I’d love to hear how you’re handling this.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Liked this one? Hit that &lt;strong&gt;like&lt;/strong&gt;, share it, helps people find and learn more easily. Join the Dev.to community! I post more takes on web dev, design, Web3, and tech.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Building Delta Health: Frontend Adventures in Empowering Rural Clinics</title>
      <dc:creator>Laurina Ayarah</dc:creator>
      <pubDate>Fri, 21 Nov 2025 21:56:54 +0000</pubDate>
      <link>https://forem.com/toboreeee/building-delta-health-frontend-adventures-in-empowering-rural-clinics-42h3</link>
      <guid>https://forem.com/toboreeee/building-delta-health-frontend-adventures-in-empowering-rural-clinics-42h3</guid>
      <description>&lt;p&gt;I never thought I’d be building healthcare systems for rural clinics. And yet, here I am, late 2025, staring at lines of React code that feel like they might just save lives.&lt;/p&gt;

&lt;p&gt;I’m a frontend developer. My world usually revolves around components, state, and CSS. But this project &lt;strong&gt;“Delta State Health Information &amp;amp; Appointment Booking System”&lt;/strong&gt; pulled me out of my comfortable bubble and threw me into a reality that’s messy, complex, and astonishingly human.&lt;/p&gt;

&lt;p&gt;Let me tell you what it’s like.&lt;/p&gt;

&lt;h2&gt;
  
  
  When Technology Meets Reality
&lt;/h2&gt;

&lt;p&gt;Working on rural healthcare in Delta State isn’t like coding for a SaaS startup in Lagos or Abuja. Here, the constraints are real: intermittent internet, limited tech literacy, stretched clinic staff, and patients whose days are consumed by survival, not appointments.&lt;/p&gt;

&lt;p&gt;Our challenge as a team wasn’t just to build software; it was to create a system that could &lt;strong&gt;function in an imperfect world&lt;/strong&gt;, a tool that people could actually rely on, without adding frustration. And it had to work for everyone:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Patients with smartphones&lt;/li&gt;
&lt;li&gt;Patients with feature phones&lt;/li&gt;
&lt;li&gt;Clinics with one computer and a pile of paperwork&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The system had to adapt to human realities, not force humans to adapt to the system.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Role: Making the Invisible, Tangible
&lt;/h2&gt;

&lt;p&gt;As the frontend developer, my responsibility was deceptively simple: make this complex system usable, intuitive, and reliable. But “simple” in this context was anything but.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Interfaces had to be intuitive:&lt;/strong&gt; Even users who had never used a web app before had to understand it. Buttons, forms, alerts, they had to communicate clearly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Responsiveness mattered:&lt;/strong&gt;Some patients were on tiny phones with small screens; some on larger devices. Every pixel mattered.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data visualization was crucial:&lt;/strong&gt; Clinics needed dashboards that didn’t just show numbers; they had to tell a story about patient flows, appointments, and recurring health issues.&lt;br&gt;
It was a balancing act. I had to take raw backend data, appointments, patient info, clinic capacity, and turn it into something people could grasp in seconds.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Stack That Made It Possible
&lt;/h2&gt;

&lt;p&gt;We weren’t reinventing the wheel. We had tools, and we leveraged them meticulously:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frontend:&lt;/strong&gt; React + Next.js for dynamic, interactive, and server-rendered components that could scale&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Backend:&lt;/strong&gt; Laravel + PHP, providing secure endpoints and business logic&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Database:&lt;/strong&gt; MySQL, storing patient records, appointments, and clinic data reliably&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Integrations:&lt;/strong&gt; Twilio for SMS notifications, Google Maps API for mapping clinics, and email reminders for patients who prefer digital communication&lt;/p&gt;

&lt;p&gt;Every line of code, every component, every API call had a purpose. This wasn’t just a project; it was a lifeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Experience: Learning on Fire
&lt;/h2&gt;

&lt;p&gt;Working on Delta Health wasn’t just coding. It was empathy in motion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I learned about patients:&lt;/strong&gt; Why missed appointments happen. Why follow-ups don’t happen. Why access to information transforms behavior.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I learned about clinics:&lt;/strong&gt; The pressure staff operate under. How a small dashboard can reduce hours of manual work. How they measure success in minutes saved, not lines of code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I learned about teamwork:&lt;/strong&gt; This wasn’t a solo endeavour. Backend devs, database engineers, health experts, and project managers all contributed. My role was to make their work visible and usable.&lt;/p&gt;

&lt;p&gt;There were nights I stared at my laptop, wondering if a dropdown would confuse users, or if the font size on a notification was readable on a small device. And yet, that was exhilarating. This was code with immediate, tangible impact.&lt;/p&gt;

&lt;h2&gt;
  
  
  Making Technology Accessible
&lt;/h2&gt;

&lt;p&gt;One of the hardest and most rewarding parts of frontend work in this project was accessibility.&lt;/p&gt;

&lt;p&gt;We had to ensure that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SMS notifications didn’t just send a message, they conveyed information clearly to someone who may not be tech-savvy.&lt;/li&gt;
&lt;li&gt;The web interface worked offline or under poor connectivity.&lt;/li&gt;
&lt;li&gt;Colours, labels, and interactions were intuitive across age groups, literacy levels, and device types.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I didn’t just code buttons, I coded trust. And every user interaction mattered.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons I’ll Carry Forward
&lt;/h2&gt;

&lt;p&gt;Working on Delta Health taught me things no tutorial ever could:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Code for humans first, devices second. A beautiful component means nothing if the person using it doesn’t understand it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Frontend isn’t decoration, it’s impact. I always thought of my work as “making things look nice.” Here, every pixel could improve a patient’s experience or a clinic’s workflow.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Collaboration is everything. I am not a backend expert, nor am I a healthcare professional. But I am a bridge, transforming logic and data into something tangible. That’s powerful.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Simplicity is the ultimate sophistication. The most elegant solutions were rarely the most complex, they were the ones that worked effortlessly for the user.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;Delta Health is live now. Real people are using it. Real clinics rely on it. And somewhere in that chain of impact, there’s a piece of code I wrote, a button, a layout, a flow, quietly making someone’s day smoother. Patients can book appointments, receive reminders, and access health information. Clinics can finally see who’s coming, when, and what resources they’ll need without digging through piles of handwritten notes.&lt;/p&gt;

&lt;p&gt;That’s what stays with me. Not the syntax. Not the tools. But the fact that something I built is out there in the wild, doing work that matters, helping real humans navigate something as important as their health.&lt;/p&gt;

&lt;p&gt;I’m proud of my work, proud of my team, and proud of what this project represents: technology that listens, adapts, and serves. For me, that’s the heart of frontend development, not just making things look good, but making them meaningful.&lt;/p&gt;

&lt;p&gt;Live Demo: &lt;em&gt;&lt;a href="https://deltahealth.usestudybuddy.org/" rel="noopener noreferrer"&gt;Delta Health&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
Source Code: &lt;em&gt;&lt;a href="https://github.com/Tobore005/delta_health" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If this piece resonates with you, go ahead and click the follow button and hit that like button. Share with your friends, colleagues, etc, if you’re into honest takes on frontend dev, design, Web3, and the reality of building things that actually matter, you can reach out to me on &lt;a href="https://x.com/toboreeee" rel="noopener noreferrer"&gt;X (Twitter)&lt;/a&gt;. I write the way I build, simply, clearly, and with intention&lt;/em&gt;.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
      <category>react</category>
    </item>
    <item>
      <title>Your Web3 Product’s UX Is Driving Users Away.</title>
      <dc:creator>Laurina Ayarah</dc:creator>
      <pubDate>Sun, 16 Nov 2025 21:08:59 +0000</pubDate>
      <link>https://forem.com/toboreeee/your-web3-products-ux-is-driving-users-away-5d9a</link>
      <guid>https://forem.com/toboreeee/your-web3-products-ux-is-driving-users-away-5d9a</guid>
      <description>&lt;p&gt;As a frontend developer who’s watched countless people, parents, friends, newcomers try and fail to use Web3 applications, I need to be direct: most Web3 UX is unacceptably bad. Not “needs improvement” bad. Not “could be better” bad. It’s “watch someone give up in real-time” bad.&lt;/p&gt;

&lt;p&gt;This isn’t about aesthetics or minor usability tweaks. This is about fundamental barriers that prevent otherwise capable people from using your product at all. If you’re building in Web3, your users are leaving before they even start. And the problem isn’t them, it’s your interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Reality: Users Are Quitting During Onboarding
&lt;/h2&gt;

&lt;p&gt;I’ve used Binance. The experience is a masterclass in user hostility, nested menus, unexplained terminology, critical actions buried under layers of navigation, and zero guidance for what to do next. For someone coming from traditional banking apps, it’s overwhelming to the point of paralysis.&lt;/p&gt;

&lt;p&gt;Compare that to Phantom Wallet on Solana. Clean interface. Clear actions. Logical flow. It proves Web3 UX can work, which makes every other poor experience even less defensible.&lt;/p&gt;

&lt;p&gt;But here’s what matters more than my opinion: I’ve watched non-technical people try to set up wallets, attempt their first transaction, or simply figure out what “gas fees” mean. Most don’t make it past the first few screens. They don’t persevere through confusing interfaces. They don’t Google every unfamiliar term. They just leave.&lt;/p&gt;

&lt;p&gt;And they don’t come back.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Your Technical Team Doesn’t See the Problem
&lt;/h2&gt;

&lt;p&gt;Most Web3 platforms are built by developers who already understand blockchain concepts, wallet mechanics, and transaction flows. If you’re reading this and you work in Web3, you probably set up your first wallet years ago. You instinctively know what “approve token allowance” means. You understand why transaction confirmations take time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Your users don’t.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The disconnect happens because teams design for themselves rather than for their actual users. My survey of new users revealed that 36% are stopped by &lt;em&gt;“big language that I truly dislike.”&lt;/em&gt; Another simply said, &lt;em&gt;“I don’t know how it works.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You’re building for a technical elite, not for the grandmother, the freelancer, or the curious newcomer. These users encounter:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Wallet setup that assumes prior knowledge: Multiple seed phrase warnings with no explanation of what they’re protecting against or why it matters.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Transaction flows that generate anxiety: Signing requests that look like security threats, fees that change without warning, irreversible actions with no safety net.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Interfaces designed for developers: Technical jargon presented without context, information density that overwhelms rather than informs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Zero forgiveness for mistakes: One wrong click can mean permanent loss of funds with no customer service to call.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This isn’t a learning curve. It’s a cliff.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Data Tells the Same Story, And It Gets Worse
&lt;/h2&gt;

&lt;p&gt;A 2024 ConsenSys report found that 55% of potential users abandon onboarding during wallet setup. That’s not a small usability issue; that’s half your potential audience deciding your product isn’t worth the effort.&lt;/p&gt;

&lt;p&gt;My own research echoes this at a granular level. When first-time users were asked what frustrated them most, the answers were telling:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;60% cited fundamental confusion with concepts like “liquidity pools.”&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;40% were exhausted by the process itself, with one user stating, &lt;em&gt;“Verification and too many words and steps… Before I can set up, I’m already tired.”&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Nearly half reported getting lost in the interface after completing actions, with one saying, &lt;em&gt;“I just got stuck looking for the tokens I swapped.”&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Think about what that means for your growth metrics. You could have the most innovative protocol, the best tokenomics, the most robust security, and you’re still losing users because they’re tired, confused, and can’t find their own money. You can’t scale when your front door is locked.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Actually Works: Lessons From Products Users Can Use
&lt;/h2&gt;

&lt;p&gt;Some Web3 products have figured this out:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phantom Wallet&lt;/strong&gt; succeeded on Solana by treating UX as seriously as security. Clean visual hierarchy, progressive disclosure of complexity, and onboarding that guides rather than gatekeeps. Users can complete basic tasks without understanding Solana’s architecture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lens Protocol&lt;/strong&gt; delivers decentralized social media using familiar interaction patterns from Web2. Users don’t need to understand the underlying protocol to post, follow, and engage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Base by Coinbase&lt;/strong&gt; abstracts blockchain complexity during onboarding. New users can start transacting without first becoming blockchain experts.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;An everything app that brings together a social network, apps, payments, and finance. One place to earn, trade, and chat with everyone, everywhere.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;These aren’t dumbed-down versions of Web3. They’re properly designed versions that respect users’ time and cognitive limits.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Fix This: Actionable Changes for Development Teams
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Start With User Testing, Not Assumptions&lt;/strong&gt;&lt;br&gt;
Watch someone who’s never used crypto try to use your product. Don’t help them. Don’t explain things. Just observe where they get stuck, confused, or frustrated. Those moments are your UX failures; fix them first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Write for Humans, Not Developers&lt;/strong&gt;&lt;br&gt;
Replace every piece of jargon with plain language. “Approve token allowance” becomes “Let this app access your tokens for this transaction.” If you can’t explain a concept in simple terms, your interface shouldn’t expose it to users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Design Mobile-First&lt;/strong&gt;&lt;br&gt;
In emerging markets where Web3 has the most potential impact, mobile is the primary access point. If your interface requires a desktop computer and MetaMask extension, you’ve already excluded most of the world.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Build Progressive Onboarding&lt;/strong&gt;&lt;br&gt;
Let users explore limited functionality before requiring wallet setup. Show value before demanding commitment. Each additional step should feel earned and necessary, not arbitrary.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Provide Contextual Help When It Matters&lt;/strong&gt;&lt;br&gt;
Don’t hide documentation in separate help centers. Integrate tooltips, inline explanations, and interactive guides exactly where users need them. When someone hovers over “gas fee,” explain it right there in language they understand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Add Safety Rails for Irreversible Actions&lt;/strong&gt;&lt;br&gt;
Confirmation dialogs should clearly explain consequences: “This will permanently transfer X tokens to address Y. This cannot be undone.” Give users a moment to verify before they commit.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Path Forward: UX as a Competitive Advantage
&lt;/h2&gt;

&lt;p&gt;Web3 doesn’t have a technology problem; the infrastructure is mature and robust. Web3 has an accessibility problem. The winning projects in the next wave won’t be the ones with the most sophisticated protocols. They’ll be the ones that normal people can actually use.&lt;/p&gt;

&lt;p&gt;If you’re building in Web3 right now, you have a choice. You can keep designing for developers and early adopters, accepting that your user base will remain small and technical. Or you can invest in real UX design from day one and build products that work for everyone.&lt;/p&gt;

&lt;p&gt;Your competitors are making this choice right now. The ones who choose accessibility will reach mainstream adoption. The ones who don’t will remain niche curiosities, celebrated in developer communities but ignored by the market.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Direct Call to Web3 Builders
&lt;/h2&gt;

&lt;p&gt;If you’re a founder, product manager, or developer working in Web3, your UX is probably worse than you think. The friction you’ve normalized is driving away the users you need to succeed.&lt;/p&gt;

&lt;p&gt;Test your product with people outside crypto. Watch them struggle. Feel the frustration. Then fix it.&lt;/p&gt;

&lt;p&gt;Because right now, you’re not competing against other Web3 platforms. You’re competing against every Web2 app that lets users accomplish tasks without thinking about the underlying technology. Until your UX matches that standard, mainstream adoption will remain a distant goal rather than an approaching reality.&lt;/p&gt;

&lt;p&gt;The future of Web3 depends on builders who care as much about user experience as they do about decentralization.&lt;/p&gt;

&lt;p&gt;Be one of them.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Liked this one? Hit that like, share it, and follow me on &lt;a href="https://x.com/toboreeee" rel="noopener noreferrer"&gt;X(Twitter)&lt;/a&gt;.&lt;/em&gt;&lt;br&gt;
 &lt;em&gt;I post more takes on web dev, design, Web3, and tech.&lt;/em&gt; &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>discuss</category>
      <category>ux</category>
      <category>design</category>
    </item>
    <item>
      <title>I Learned React + Next.js in Three Months Without Watching a Single Tutorial.</title>
      <dc:creator>Laurina Ayarah</dc:creator>
      <pubDate>Fri, 14 Nov 2025 23:34:25 +0000</pubDate>
      <link>https://forem.com/toboreeee/i-learned-react-nextjs-in-three-months-without-watching-a-single-tutorial-3m01</link>
      <guid>https://forem.com/toboreeee/i-learned-react-nextjs-in-three-months-without-watching-a-single-tutorial-3m01</guid>
      <description>&lt;p&gt;I’m going to tell you something that sounds fake but isn’t:&lt;/p&gt;

&lt;p&gt;I built a full-stack healthcare booking system with React and Next.js before I ever watched a React tutorial.&lt;/p&gt;

&lt;p&gt;Not “I watched tutorials first, then built.” Not “I learned the basics then jumped in.”&lt;/p&gt;

&lt;p&gt;I just… built it. With zero React knowledge. Just JavaScript, Google, AI search tools, and pure desperation.&lt;/p&gt;

&lt;p&gt;And honestly? I still don’t know if that makes me brave or just stupid. LOL!&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Started (Badly)
&lt;/h2&gt;

&lt;p&gt;I was a computer science student. Selling jewelry and accessories on the side to survive. Barely done with my internship, where all I did was write basic JavaScript and fix small bugs.&lt;/p&gt;

&lt;p&gt;Then I got pulled into a project.&lt;/p&gt;

&lt;p&gt;Full-stack healthcare booking system. Frontend was mine. Backend team was already working. Timeline? Three months!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cool. Great. One problem:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I had never touched React. Or Next.js. Or any modern frontend framework.&lt;/p&gt;

&lt;p&gt;I had JavaScript. That’s it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And also, my life was kind of falling apart.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not in a “I’m stressed about school” way…In a “I can’t function properly and everything feels heavy” way.&lt;/p&gt;

&lt;p&gt;But I couldn’t say no because I needed the work. Because I was still trying to prove I could do this. Because saying “I can’t handle this right now” felt like an admission of defeat.&lt;/p&gt;

&lt;p&gt;So I said yes. And immediately regretted it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Week 1: Pretending I Understood Anything
&lt;/h2&gt;

&lt;p&gt;The first team call was on Google Meet. Backend devs explaining the architecture, database structure, API endpoints, and project timeline.&lt;/p&gt;

&lt;p&gt;I was nodding. Taking notes. Looking engaged.&lt;/p&gt;

&lt;p&gt;Inside my head: “What the hell is SSR? What’s a component? Why does everyone keep saying ‘state’ like I’m supposed to know what that means?”&lt;/p&gt;

&lt;p&gt;After the call, I stared at my laptop.&lt;/p&gt;

&lt;p&gt;Then I opened Google. Typed: &lt;em&gt;“How to build a website with Next.js”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And that’s how it started.&lt;/strong&gt;&lt;br&gt;
Not with a course. Not with a tutorial. Just me, a search bar, and a deadline.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Friend Who Got Frustrated (And the One Who Saved Me)
&lt;/h2&gt;

&lt;p&gt;I tried talking to a friend about what I was going through. About how overwhelmed I was. How I couldn’t think straight.&lt;/p&gt;

&lt;p&gt;He got pissed by the way.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“You only ever talk about work”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“You need to deal with your personal stuff.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;“I already explained that!”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;He was right. But I couldn’t explain that work was the only thing keeping me from completely falling apart.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Then I met one of the backend devs.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Different guy, didn’t really know me personally, had no reason to help me as much as he did.&lt;/p&gt;

&lt;p&gt;But when I showed up in the project group with panicked questions about state management, he answered. Patiently. Without judgment.&lt;/p&gt;

&lt;p&gt;When I apologized for not understanding something fast enough, he’d say: &lt;em&gt;“You’re learning. It’s fine. Here’s how it works.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;He didn’t get frustrated. He just… helped.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Selflessly. The kind of help you don’t forget.&lt;/p&gt;

&lt;p&gt;And somehow, with his guidance and a lot of Googling, I started figuring things out.&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Actually Learned (The Messy Truth)
&lt;/h2&gt;

&lt;p&gt;Here’s what nobody tells you:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You don’t need tutorials to learn. You need problems to solve.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I didn’t sit through a 10-hour React course. I didn’t watch “Next.js for Beginners.” I didn’t do the step-by-step.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I just started building.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When I needed a navigation bar, I Googled: &lt;em&gt;“how to make navbar in Next.js”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When my form wouldn’t update, I searched: &lt;em&gt;“Why is my state not updating React?”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When I needed to fetch data from the backend, I asked the AI search tool: &lt;em&gt;“How to call API in Next.js?”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Every feature became a Google search. Every error became a learning moment.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I wasn’t studying React. I was &lt;strong&gt;using&lt;/strong&gt; React to solve real problems. And somehow, that taught me faster than any tutorial ever could.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Only Tutorial I Ever Watched (And When I Watched It)
&lt;/h2&gt;

&lt;p&gt;Want to know the wild part?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I didn’t watch a single React tutorial until AFTER I finished the project.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not before. Not during. &lt;strong&gt;After.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;By the time I watched one, I already understood most of it. Because I’d already &lt;strong&gt;lived&lt;/strong&gt; it.&lt;/p&gt;

&lt;p&gt;The tutorial was just confirming what I’d learned by doing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And that’s when I realized:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tutorials teach you theory. Projects teach you reality.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Was Actually Happening in My Life
&lt;/h2&gt;

&lt;p&gt;While I was learning React and Next.js, I was also:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Attending university full-time (computer science student)&lt;/li&gt;
&lt;li&gt;Selling jewelry and accessories to survive&lt;/li&gt;
&lt;li&gt;Dealing with personal stuff that made it hard to function&lt;/li&gt;
&lt;li&gt;Trying to keep up with assignments, exams, side hustle, and coding&lt;/li&gt;
&lt;li&gt;Running on maybe 4–5 hours of sleep a night
&lt;strong&gt;I was exhausted. Emotionally drained. Barely holding it together.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But the project gave me something to focus on. Something I could control when everything else felt out of control.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So I kept going.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not because I was disciplined. Because I was desperate for something, anything, to work out.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Moments I Almost Quit
&lt;/h2&gt;

&lt;p&gt;There were days I’d stare at an error message for hours and feel like the dumbest person alive.&lt;/p&gt;

&lt;p&gt;Days where I’d be photographing jewelry for Instagram (btw my account was disabled for NO REASON, when does it end!), then switching tabs to debug a Next.js API route, then rushing to a lecture, then coming home to code until 3 AM.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I felt like I was drowning.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But every time I wanted to quit, I’d remember:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If I quit this, what do I have left?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;School? Overwhelming.&lt;br&gt;
Personal life? A mess.&lt;br&gt;
Side hustle? Barely paying anything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This project was the one thing I could finish. The one thing I could control.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So I didn’t quit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What We Built (Somehow)&lt;/strong&gt;&lt;br&gt;
Three months later, the project was done.&lt;/p&gt;

&lt;p&gt;A full healthcare booking system. With:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User authentication&lt;/li&gt;
&lt;li&gt;Appointment scheduling&lt;/li&gt;
&lt;li&gt;Real-time clinic data&lt;/li&gt;
&lt;li&gt;SMS notifications&lt;/li&gt;
&lt;li&gt;Admin dashboard&lt;/li&gt;
&lt;li&gt;Responsive design&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Was it perfect?&lt;/strong&gt; No.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Was my code clean?&lt;/strong&gt; Absolutely not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Did I cry multiple times during those three months?&lt;/strong&gt; Yes. Yes. Yes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But did it work?&lt;/strong&gt; Yes. And that’s what mattered.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned About Learning
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. You Don’t Need Tutorials to Learn&lt;/strong&gt;&lt;br&gt;
I built an entire React + Next.js application without watching a single tutorial until after I was done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How?&lt;/strong&gt; Google. AI search tools. Documentation. Stack Overflow. Trial and error.&lt;/p&gt;

&lt;p&gt;Tutorials are helpful. But they’re not required.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Real Projects Teach You Faster Than Courses&lt;/strong&gt;&lt;br&gt;
Courses teach you syntax. Projects teach you problem-solving.&lt;/p&gt;

&lt;p&gt;I learned React by needing a component to work TODAY. Not “someday when I finish the course.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. You Learn Best When You Have No Other Choice&lt;/strong&gt;&lt;br&gt;
I didn’t choose to learn React and Next.js in three months. I was forced to.&lt;/p&gt;

&lt;p&gt;And that’s the only reason I learned it that fast.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Imposter Syndrome Never Really Goes Away&lt;/strong&gt;&lt;br&gt;
Even now, I still feel like I don’t know what I’m doing for real.&lt;/p&gt;

&lt;p&gt;But at the same time? I’m confident in my designs. In my work. In what I can build.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Both things can be true.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can feel like a fraud and still be competent. That’s just how this works.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. The Right People Make All the Difference&lt;/strong&gt;&lt;br&gt;
That backend dev who helped me selflessly? I wouldn’t have finished without him.&lt;/p&gt;

&lt;p&gt;Learning isn’t a solo journey. It’s messy, collaborative, and deeply human.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Uncomfortable Truth
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Nobody talks about learning to code while your life is falling apart.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All the “learn to code” content is clean. Motivational. Inspiring.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But real life is messy.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You’re learning React while juggling school, side hustles, personal chaos, and trying to keep your mental health intact.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And you’re still expected to deliver.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So if you’re going through something right now and wondering how you’re supposed to learn while barely functioning, I see you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You’re not weak. You’re surviving. And that’s enough.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Where I Am Now
&lt;/h2&gt;

&lt;p&gt;I build React and Next.js applications. I still use tutorials when necessary, though.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I feel confident?&lt;/strong&gt; Sometimes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I still have imposter syndrome?&lt;/strong&gt; Always.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But do I know I can figure things out?&lt;/strong&gt; Yes.&lt;/p&gt;

&lt;p&gt;Because if I can learn React and Next.js while my life was chaos, while selling jewelry between coding sessions, while attending university full-time, while barely sleeping,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I can handle anything.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I’d Tell You
&lt;/h2&gt;

&lt;p&gt;If you’re stuck in tutorial hell, waiting to “feel ready” before building something real, &lt;strong&gt;STOP.&lt;/strong&gt; Like right now.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You don’t need another course. You need a project.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pick something. Build it. Break it. Google the errors. Fix it. Ship it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That’s how you actually learn.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not perfectly. Not cleanly. But effectively.&lt;/p&gt;

&lt;p&gt;And if some broke computer science student juggling school, a side hustle, and personal chaos can learn React without tutorials,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You definitely can too.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;I learned React + Next.js in three months without watching a single tutorial.&lt;/p&gt;

&lt;p&gt;Not because I’m smart. Because I didn’t have time to watch tutorials.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I had a deadline. A team depending on me. And no other option.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So I Googled. I asked questions. I broke things. I fixed them. I shipped.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And that’s the secret:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sometimes the fastest way to learn is to stop preparing and start building.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;P.S.&lt;/strong&gt; Maybe one day I’ll write about how I started writing too. But that’s a story for another time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For now? Just know that you don’t need to have it all figured out to start. You just need to start.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If this story helped you or made you feel seen, tap the like button. It helps more people find it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Connect with me on &lt;a href="https://x.com/toboreeee" rel="noopener noreferrer"&gt;X (Twitter)&lt;/a&gt; and &lt;a href="https://www.linkedin.com/in/ighotobore-ayarah-721aa1267/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;. I’m always open to meeting people in tech and making new friends along the way.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>career</category>
      <category>beginners</category>
      <category>react</category>
    </item>
    <item>
      <title>I built my first NFT-Gallery in 2 days!
https://dev.to/toboreeee/i-built-my-first-nft-gallery-in-2-days-and-didnt-lose-my-mind-44ha</title>
      <dc:creator>Laurina Ayarah</dc:creator>
      <pubDate>Fri, 07 Nov 2025 18:51:00 +0000</pubDate>
      <link>https://forem.com/toboreeee/i-built-my-first-nft-gallery-in-2-days-165b</link>
      <guid>https://forem.com/toboreeee/i-built-my-first-nft-gallery-in-2-days-165b</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/toboreeee" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3592218%2F43cf0dac-d46e-4dcf-9e7a-98781f4fd607.png" alt="toboreeee"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/toboreeee/i-built-my-first-nft-gallery-in-2-days-and-didnt-lose-my-mind-44ha" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;I Built My First NFT Gallery in 2 Days (And Didn’t Lose My Mind)&lt;/h2&gt;
      &lt;h3&gt;Laurina Ayarah ・ Nov 7&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#nextjs&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#react&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#tutorial&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>webdev</category>
      <category>ai</category>
      <category>programming</category>
      <category>blockchain</category>
    </item>
    <item>
      <title>Let's connect on X
 https://x.com/toboreeee</title>
      <dc:creator>Laurina Ayarah</dc:creator>
      <pubDate>Fri, 07 Nov 2025 18:49:08 +0000</pubDate>
      <link>https://forem.com/toboreeee/lets-connect-on-x-httpsxcomtoboreeee-27m1</link>
      <guid>https://forem.com/toboreeee/lets-connect-on-x-httpsxcomtoboreeee-27m1</guid>
      <description>&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://x.com/toboreeee" rel="noopener noreferrer"&gt;
      x.com
    &lt;/a&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Hi guys! I'm Rina, a Front-end Developer and Technical Writer with almost 3 years of experience building web apps and creating clear, engaging technical content. I love connecting with fellow developers and tech enthusiasts from around the world. Let’s sha</title>
      <dc:creator>Laurina Ayarah</dc:creator>
      <pubDate>Fri, 07 Nov 2025 18:46:56 +0000</pubDate>
      <link>https://forem.com/toboreeee/hi-guys-im-rina-a-front-end-developer-and-technical-writer-with-almost-3-years-of-experience-54k2</link>
      <guid>https://forem.com/toboreeee/hi-guys-im-rina-a-front-end-developer-and-technical-writer-with-almost-3-years-of-experience-54k2</guid>
      <description></description>
    </item>
    <item>
      <title>I Built My First NFT Gallery in 2 Days (And Didn’t Lose My Mind)</title>
      <dc:creator>Laurina Ayarah</dc:creator>
      <pubDate>Fri, 07 Nov 2025 13:33:54 +0000</pubDate>
      <link>https://forem.com/toboreeee/i-built-my-first-nft-gallery-in-2-days-and-didnt-lose-my-mind-44ha</link>
      <guid>https://forem.com/toboreeee/i-built-my-first-nft-gallery-in-2-days-and-didnt-lose-my-mind-44ha</guid>
      <description>&lt;p&gt;I built my first NFT gallery in 2 days. No blockchain degree, no Web3 bootcamp, just me, some API docs, and a lot of confused Googling.&lt;/p&gt;

&lt;p&gt;Two days ago, I had no idea how to fetch NFT data. Now I have a working gallery that displays any wallet’s NFTs. Here’s exactly how I did it (and all the dumb mistakes I made along the way)…&lt;/p&gt;

&lt;p&gt;Here’s what I built: nft-gallery&lt;/p&gt;

&lt;p&gt;And here’s how I did it, including all the stupid mistakes I made so you don’t have to…&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Actually Built
&lt;/h2&gt;

&lt;p&gt;It’s simple: you connect your wallet, and it shows all your NFTs in a grid. That’s it. Nothing fancy.&lt;/p&gt;

&lt;p&gt;But getting there? That was a journey.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Stack (What I Used and Why)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;I went with Next.js because:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I already know React&lt;/li&gt;
&lt;li&gt;Typescript (tsx)&lt;/li&gt;
&lt;li&gt;API routes make backend stuff easy&lt;/li&gt;
&lt;li&gt;Deployment to Vercel is literally one click&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For wallet connection, I used RainbowKit:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Handles multiple wallets (MetaMask, Coinbase, WalletConnect)&lt;/li&gt;
&lt;li&gt;Looks clean out of the box&lt;/li&gt;
&lt;li&gt;Saves you from writing 100 lines of connection logic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;For fetching NFT data: Moralis API&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free tier is generous&lt;/li&gt;
&lt;li&gt;One API call gets all NFTs from a wallet&lt;/li&gt;
&lt;li&gt;Documentation is actually readable&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Day 1: Fighting With Wallet Connection
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The goal:&lt;/strong&gt; Get a “Connect Wallet” button working.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reality:&lt;/strong&gt; Spent way too long reading RainbowKit docs.&lt;/p&gt;

&lt;p&gt;The setup looks scary:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;'use client'

import '@rainbow-me/rainbowkit/styles.css'
import { RainbowKitProvider, getDefaultConfig } from '@rainbow-me/rainbowkit'
import { WagmiProvider } from 'wagmi'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { mainnet } from 'wagmi/chains'

const config = getDefaultConfig({
      appName: 'NFT Gallery',
  projectId: '6344a99eb87ffdddeaac02a39972d21d', // from reown.com / WalletConnect Cloud
  chains: [mainnet],
  ssr: true,
})

const queryClient = new QueryClient()

export default function Providers({ children }: { children: React.ReactNode }) {
  return (
    &amp;lt;WagmiProvider config={config}&amp;gt;
      &amp;lt;QueryClientProvider client={queryClient}&amp;gt;
        &amp;lt;RainbowKitProvider modalSize="compact"&amp;gt;
          {children}
        &amp;lt;/RainbowKitProvider&amp;gt;
      &amp;lt;/QueryClientProvider&amp;gt;
    &amp;lt;/WagmiProvider&amp;gt;
  )
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But here’s the thing, &lt;strong&gt;most of it is copy-paste from their docs.&lt;/strong&gt; You just need:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A WalletConnect project ID (free from &lt;a href="//reown.com"&gt;reown.com&lt;/a&gt; takes 2 minutes)&lt;/li&gt;
&lt;li&gt;Copy their config code&lt;/li&gt;
&lt;li&gt;Wrap your app in their providers&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;My mistake:&lt;/strong&gt; I forgot to actually wrap my app in the providers. Spent 20 minutes staring at a blank screen, wondering why nothing worked. Check your layout.tsx first. Don’t be me.&lt;/p&gt;

&lt;p&gt;Once it’s set up, though? The connect button is literally just &lt;code&gt;&amp;lt;ConnectButton /&amp;gt;&lt;/code&gt;. That's it.&lt;/p&gt;

&lt;p&gt;It handles MetaMask, Coinbase Wallet, WalletConnect, everything. I didn’t have to write any of that logic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day 2: Okay, Now, How Do I Get the NFTs?&lt;/strong&gt;&lt;br&gt;
Connected wallet? Check.&lt;br&gt;
Knowing what to do next? (give me a sec, let me breathe)…&lt;/p&gt;

&lt;p&gt;So…&lt;/p&gt;

&lt;p&gt;I needed to fetch NFT data. But from where? and how?&lt;/p&gt;

&lt;p&gt;Enter: &lt;a href="https://moralis.com/" rel="noopener noreferrer"&gt;Moralis API.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The free tier gives you 40,000 requests/month, more than enough for a side project.&lt;/p&gt;

&lt;p&gt;I created a Next.js API route (because I didn’t want to expose my API key):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// app/api/nfts/route.ts
export async function GET(request: Request) {
  const { searchParams } = new URL(request.url);
  const address = searchParams.get('address');

  // Call Moralis
  const url = `https://deep-index.moralis.io/api/v2.2/${address}/nft?chain=eth&amp;amp;format=decimal`;

  const res = await fetch(url, {
    headers: {
      'X-API-Key': apiKey,
    },
  });

  const data = await res.json();
  return NextResponse.json(data);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What I learned:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Moralis returns &lt;strong&gt;EVERYTHING&lt;/strong&gt; about an NFT (metadata, images, contract info)&lt;/li&gt;
&lt;li&gt;Some NFTs don’t have images (yes, really)&lt;/li&gt;
&lt;li&gt;IPFS URLs are… interesting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What broke:&lt;/strong&gt; First tried calling Moralis directly from the frontend. CORS said no. That’s why you need the API route.&lt;/p&gt;

&lt;p&gt;P.S. CORS means &lt;strong&gt;Cross-Origin Resource Sharing&lt;/strong&gt;. It’s basically a &lt;strong&gt;security rule built into browsers&lt;/strong&gt; that controls which websites are allowed to talk to each other.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Making It Not Look Terrible&lt;/strong&gt;&lt;br&gt;
Now I had NFT data. Time to actually display it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{nfts.map((nft, i) =&amp;gt; {
  const image = 
    nft.normalized_metadata?.image ||
    nft.collection_logo ||
    nft.collection_banner_image;

  return (
    &amp;lt;div className="bg-[#141414] rounded-2xl..."&amp;gt;
      {image ? (
        &amp;lt;img src={image} alt={nft.name || "NFT"} /&amp;gt;
      ) : (
        &amp;lt;div&amp;gt;No Image&amp;lt;/div&amp;gt;
      )}
      &amp;lt;h2&amp;gt;{nft.name || "Unnamed NFT"}&amp;lt;/h2&amp;gt;
    &amp;lt;/div&amp;gt;
  );
})}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Things that surprised me:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Not every NFT has an image.&lt;/strong&gt; Some are just… data? Had to add a “No Image” fallback or the whole thing broke.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;NFT names can be null.&lt;/strong&gt; Because why would every NFT have a name? That would make too much sense.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Loading takes time.&lt;/strong&gt; 2–3 seconds to fetch. If you don’t show a loading state, users think it’s broken.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Tailwind Grid is actually nice.&lt;/strong&gt; &lt;code&gt;grid gap-6 grid-cols-1 md:grid-cols-3 -&lt;/code&gt; boom, responsive without writing media queries.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;The Demo Wallet Trick&lt;/strong&gt;&lt;br&gt;
I wanted people to see it work without connecting their wallets. So I used a random public wallet address as a fallback:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const walletAddress = isConnected
  ? address
  : "0xED5AF388653567Af2F388E6224dC7C4b3241C544";
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Just Googled “Ethereum wallet with NFTs” and grabbed one. Now visitors see NFTs immediately, but can still connect to view their own.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployment (The Only Easy Part)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push origin main
vercel deploy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Done. 5 minutes. Vercel is magic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Still Annoys Me&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Error messages are generic and boring&lt;/li&gt;
&lt;li&gt;No search bar&lt;/li&gt;
&lt;li&gt;Some wallets have HUNDREDS of NFTs, no pagination&lt;/li&gt;
&lt;li&gt;The code could be cleaner&lt;/li&gt;
&lt;li&gt;Dark mode is the only mode (should add a toggle)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But it works. And that’s what matters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Honestly?&lt;/strong&gt;&lt;br&gt;
Building this taught me that Web3 frontend development is just… frontend development. With some extra APIs.&lt;/p&gt;

&lt;p&gt;You don’t need to understand blockchain internals. You don’t need to write Solidity. You just need to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Connect wallet (libraries handle this)&lt;/li&gt;
&lt;li&gt;Fetch data (APIs handle this)&lt;/li&gt;
&lt;li&gt;Display it nicely (React + Tailwind handle this)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Is my code perfect? No.&lt;br&gt;
Is it production-ready? Also no.&lt;br&gt;
Did I learn a ton? Yes.&lt;/p&gt;

&lt;p&gt;Live demo: &lt;a href="https://nft-gallery-zeta-two.vercel.app/" rel="noopener noreferrer"&gt;nft-gallery&lt;/a&gt; (let me know what you think)&lt;br&gt;
Code: &lt;a href="https://github.com/Tobore005/Nft-Gallery" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; (checkout my GitHub)&lt;/p&gt;

&lt;p&gt;If you build something with this, drop the link below. I’d really love to see it. And if you get stuck on some weird error, comment it —maybe I experienced it too!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>nextjs</category>
      <category>react</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
