Why I Ditched the Library For years, I used Auth0, Firebase Auth, and Passport.js without thinking twice. They handled the hard stuff — token management, security patches, OAuth flows. Why reinvent the wheel? Then I joined a startup with a tight budget and a weird requirement: we needed custom auth logic that didn’t fit any…
I Stopped Using Authentication Libraries — Here’s What I Learned
Why I Ditched the Library For years, I used Auth0, Firebase Auth, and Passport.js without thinking twice. They handled the hard stuff — token management, security patches, OAuth flows. Why reinvent the wheel? Then I joined a startup with a tight budget and a weird requirement: we needed custom auth logic that didn’t fit any…
Why I Stopped Writing Unit Tests for Everything
For years, I was that developer. The one who insisted on 90% code coverage. Who would spend hours writing tests for every function, every edge case, every tiny module. I thought more tests meant better code. I was wrong. The Test Everything Mentality It started when I joined my first proper dev team. The senior…
Why I Stopped Writing Unit Tests for Everything
For years, I was that developer. The one who insisted on 90% code coverage. Who would spend hours writing tests for every function, every edge case, every tiny module. I thought more tests meant better code. I was wrong. The Test Everything Mentality It started when I joined my first proper dev team. The senior…
I Used an AI Coding Assistant for 30 Days – Here’s What Actually Stuck
Context I’ve been skeptical about AI coding assistants. For years, I thought they were just fancy autocomplete that would make developers lazier. But after watching my team struggle with repetitive tasks, I decided to give it a real shot. What I Used I used Claude Code and Cursor for 30 days on actual production work….
The PostgreSQL Lock That Crashed Our Production at 2 AM
It was 2 AM when my phone rang. Not the kind of ring you ignore. The production database was frozen. Everything was frozen. And I was the on-call engineer. What Happened We had a simple migration running — adding a new column to a table with 2 million rows. Standard stuff. Or so I thought….
We Replaced Our Database with a CSV File
Three months ago, I replaced a PostgreSQL database with a single CSV file. The app got faster, simpler, and our team stopped spending weekends fixing deployment issues. The Situation We had a small internal dashboard. It tracked employee requests, managed approvals, and stored some basic analytics. Nothing fancy. But somehow, this “simple” app required: A…
I Over-Engineered Everything and It Cost Me More Than I Thought
The Moment I Realized Something Was Wrong I spent three hours designing a “scalable” solution for a feature that would maybe get 100 users. Built a custom caching layer. Created an elaborate state management system. Added metrics and monitoring everywhere. It took two weeks to ship. The feature worked fine. Nobody noticed any of the…
The Database Query That Almost Crashed Our Production Server
It was 2 AM when my phone buzzed. Our monitoring system was screaming — response times had spiked to 30+ seconds. Users were complaining on Twitter. And I had absolutely no idea what was happening. The Night Everything Slowed Down I pulled up my laptop, logged into the server, and my heart sank. The database…
I Tried Vibe Coding for a Week and Here’s What Happened
You know that feeling when you type something into ChatGPT or Cursor, and code just appears? Like magic. No manual. No Stack Overflow scrolling. Just you, typing what you want, and boom — it works. That’s vibe coding. And I decided to try it seriously for a week. What is vibe coding? Basically, it’s writing…









