<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: flreey</title>
    <description>The latest articles on DEV Community by flreey (@flreey).</description>
    <link>https://dev.to/flreey</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%2F3865154%2F693b1a9a-ecaf-456b-9e97-8ec7d65f7163.png</url>
      <title>DEV Community: flreey</title>
      <link>https://dev.to/flreey</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/flreey"/>
    <language>en</language>
    <item>
      <title>I haven't written code in a year. Last week I forgot to git push and panicked</title>
      <dc:creator>flreey</dc:creator>
      <pubDate>Tue, 07 Apr 2026 07:56:00 +0000</pubDate>
      <link>https://dev.to/flreey/i-havent-written-code-in-a-year-last-week-i-forgot-to-git-push-and-panicked-16f5</link>
      <guid>https://dev.to/flreey/i-havent-written-code-in-a-year-last-week-i-forgot-to-git-push-and-panicked-16f5</guid>
      <description>&lt;p&gt;I lost my job two years ago.&lt;/p&gt;

&lt;p&gt;I have been a developer for ten years. So I did what a lot of out-of-work devs do. I started a side project to make some money.&lt;/p&gt;

&lt;p&gt;It's called &lt;a href="https://randtools.com" rel="noopener noreferrer"&gt;RandTools&lt;/a&gt;. It's a free website with 65 random generators. Random names, fake addresses, mock data for testing, dice rolls, color palettes. Boring stuff people Google when they need a quick answer. I built it pretty fast. I also didn't write a single line of the code. The AI wrote all of it.&lt;/p&gt;

&lt;p&gt;This is the part where I should feel weird. I don't really. I just describe what I want, the AI writes it, I read the diff, I check the build, I push. It works. About a year ago the AI got good enough that I stopped fighting it. After ten years of writing code by hand, I had quietly stopped writing it by hand. And I felt fine about it.&lt;/p&gt;

&lt;p&gt;Until last Tuesday morning.&lt;/p&gt;

&lt;h2&gt;
  
  
  The coffee
&lt;/h2&gt;

&lt;p&gt;I had pushed a small update the night before. Some new combo generators. I went to bed.&lt;/p&gt;

&lt;p&gt;In the morning I made coffee and opened the site on my phone. I clicked around. Something felt off. The pages were loading slower than I remembered. Not broken slow. Just heavy.&lt;/p&gt;

&lt;p&gt;I ran PageSpeed Insights.&lt;/p&gt;

&lt;p&gt;Score: &lt;strong&gt;70&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The site used to be in the 90s. Always. I had checked it before. Now it was 70 and the report was a wall of red warnings. "222 KiB of unused JavaScript." "Render blocking requests." "Network dependency tree."&lt;/p&gt;

&lt;p&gt;I sat there with my coffee and thought, what the hell.&lt;/p&gt;

&lt;h2&gt;
  
  
  I blamed Cloudflare first
&lt;/h2&gt;

&lt;p&gt;My site runs on Cloudflare Workers. So my first guess was: it must be Cloudflare. Maybe their network had a bad day. Maybe my plan was too small. Maybe the cache was broken.&lt;/p&gt;

&lt;p&gt;I opened the Cloudflare dashboard. I read pages I had never read before. I looked at graphs I did not understand. I could not find anything obviously wrong, but by then I was already sure something was wrong with them, not with me.&lt;/p&gt;

&lt;p&gt;So I did the dumbest thing. I upgraded my plan. I gave them five dollars. I thought, maybe this will fix it.&lt;/p&gt;

&lt;p&gt;It did not fix it.&lt;/p&gt;

&lt;p&gt;I want to tell you I did this calmly. I did not. I was annoyed. I built this thing to make a little money and now it was slow for no reason and I no longer remembered how to debug a Next.js app.&lt;/p&gt;

&lt;h2&gt;
  
  
  I asked the AI
&lt;/h2&gt;

&lt;p&gt;I gave up trying to figure it out myself. I opened the AI chat I use for this project and pasted the PageSpeed screenshot. I said something like, "this is bad. what is it."&lt;/p&gt;

&lt;p&gt;The AI looked at the report and said: it's not Cloudflare. It's your own code. Your Header component is a client component. It imports something from a giant file with all your generator data. So every visitor downloads that giant file on every page, even though they only need one tiny piece of it.&lt;/p&gt;

&lt;p&gt;I read this and felt my face go warm.&lt;/p&gt;

&lt;p&gt;In my old life, before I let the AI write all my code, I would have known to check for this exact thing. The &lt;code&gt;'use client'&lt;/code&gt; boundary in Next.js has traps like this. Any senior Next.js dev knows about it. I knew about it once. Apparently I had stopped paying attention.&lt;/p&gt;

&lt;p&gt;The AI walked me through the fix. It was three small changes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Move the small piece (a list of category names) into its own tiny file.&lt;/li&gt;
&lt;li&gt;Change one import from &lt;code&gt;import&lt;/code&gt; to &lt;code&gt;import type&lt;/code&gt;. This single keyword tells TypeScript not to actually ship the file at runtime.&lt;/li&gt;
&lt;li&gt;Make some heavy data files lazy-loaded so they only download when you actually use them.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That was the entire fix. The whole problem boiled down to one missing keyword and a few imports that should have been moved months ago.&lt;/p&gt;

&lt;p&gt;The AI did all of it. I read the diffs. They looked right. The build passed. I refreshed PageSpeed.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  I sat there for an hour
&lt;/h2&gt;

&lt;p&gt;I assumed the AI was wrong. I read the diffs again. The code looked correct. I ran the build again. It passed. I purged the Cloudflare cache. Twice. I tried PageSpeed in incognito mode.&lt;/p&gt;

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

&lt;p&gt;I started to think maybe Next.js 16 itself had a real problem. Maybe I had to roll the project back. I thought about going back to bed and pretending none of this was happening.&lt;/p&gt;

&lt;p&gt;After about an hour of this, I went to my terminal and ran &lt;code&gt;git status&lt;/code&gt;. It said: &lt;code&gt;nothing to commit, working tree clean&lt;/code&gt;. I ran &lt;code&gt;git log&lt;/code&gt;. The latest commit was from that morning. The fix was committed.&lt;/p&gt;

&lt;p&gt;Then I ran &lt;code&gt;git ls-remote origin main&lt;/code&gt; to check what was on the server.&lt;/p&gt;

&lt;p&gt;The latest commit on the server was from the night before.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I had never pushed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I had spent an hour debugging a problem that didn't exist. The AI's fix was perfect. It just wasn't on the server. Because I forgot to type &lt;code&gt;git push&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I typed &lt;code&gt;git push&lt;/code&gt;. I waited two minutes for Cloudflare to deploy. I refreshed PageSpeed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;91.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I didn't celebrate. I just stared at the screen. The whole episode had taken most of my morning. Half of that was me being sure Cloudflare was the problem. Most of the rest was me being sure the AI was the problem. The actual time the fix took was maybe thirty minutes, and I hadn't personally written any of it.&lt;/p&gt;

&lt;p&gt;I opened my notes file and added a single line:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;2026-04-07 — PageSpeed back to 91. Header was importing
generators.ts in a 'use client' component. Forgot to push
for an hour like an idiot.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then I went back to the Cloudflare dashboard and looked at the upgrade I had paid for that morning. It sat there quietly. It hadn't done anything. It was never going to do anything. I'd paid for it because I was too embarrassed to admit I no longer knew how to debug my own site.&lt;/p&gt;

&lt;h2&gt;
  
  
  The thing I did not expect to write
&lt;/h2&gt;

&lt;p&gt;I want to talk about the part of this that has been bothering me all week.&lt;/p&gt;

&lt;p&gt;For ten years, I was paid for what I knew. I knew which patterns to use. I knew where bugs hide. I knew the difference between &lt;code&gt;import&lt;/code&gt; and &lt;code&gt;import type&lt;/code&gt; without thinking. I could trace a webpack bundle in my head if I had to.&lt;/p&gt;

&lt;p&gt;That knowledge is still in my head. But I don't use it the way I used to.&lt;/p&gt;

&lt;p&gt;When the bug showed up on Tuesday, I did not investigate it the way ten-years-ago me would have. I did not open the Coverage tab in DevTools. I did not read my own build output. I did not trace any imports. I took a screenshot, sent it to the AI, and let the AI tell me what was wrong.&lt;/p&gt;

&lt;p&gt;Worse: the AI was right, and it was faster than I would have been.&lt;/p&gt;

&lt;p&gt;I have been thinking about this all week. I keep coming back to one feeling: &lt;strong&gt;the value of everything I learned in those ten years is dropping toward zero, and dropping fast&lt;/strong&gt;. I used to think my edge was knowing how to write code. Then I thought my edge was knowing what to ask the AI. Now I am not sure I can even tell when the AI is wrong — because when I forgot to push, my first instinct was that the AI was wrong, not that I had made a stupid mistake. I trusted my own broken intuition more than the tool. The tool was right. I was wrong.&lt;/p&gt;

&lt;p&gt;I don't have a clean ending for this. I can only tell you what Tuesday felt like after the panic was over.&lt;/p&gt;

&lt;p&gt;Ten years of writing code did not catch this bug. The AI caught it. The thing my ten years of experience was actually useful for was what came after the AI fixed it: knowing the fix made sense, knowing why it would work, and — eventually, after an hour — knowing to check the obvious dumb thing. Like whether I had run &lt;code&gt;git push&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;That is not nothing. But it is also not what I trained for.&lt;/p&gt;

&lt;p&gt;If you are a senior dev right now and you feel like your skills are slowly turning into a hobby, I get it. Mine feel that way too. The code is not yours anymore. The bugs are not the kind of bugs you used to catch. Your job — if you still have one — is mostly about deciding which of the AI's answers are real and which look real but are not. That is a useful skill. It just is not the skill anyone hired you for.&lt;/p&gt;

&lt;p&gt;If you want to see the site this whole post is about, it's at &lt;a href="https://randtools.com" rel="noopener noreferrer"&gt;randtools.com&lt;/a&gt;. It's back to 91. I &lt;a href="https://github.com/flreey/randtools" rel="noopener noreferrer"&gt;open-sourced the landing page on GitHub&lt;/a&gt; if you want to look at the README. The actual project source is still private, mostly because I'm embarrassed about how little of it I wrote.&lt;/p&gt;

&lt;p&gt;And if you ever pay for a Cloudflare upgrade because your site is slow, please run &lt;code&gt;git status&lt;/code&gt; first. You will save yourself five dollars. And maybe a small piece of your dignity.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>nextjs</category>
      <category>ai</category>
      <category>career</category>
    </item>
  </channel>
</rss>
