Hi, my name is
Vincent.
Welcome to my corner of the internet where i figure things out.
Dad of two boys sharing my adventures in building stuff, breaking things, and figuring out why things don't work while trying not to mess up parenting too badly.
Recent Articles
view all articlesI just spent a month building four different versions of the same authentication system using Claude Code. Each one was supposed to be the "final" solution. Each one failed in spectacular and increasingly embarrassing ways.
The worst part? I could have solved the whole problem in few days by just doing the authentication manually.
But that felt like admitting defeat. So instead of being practical, I doubled down on being a complete sohai. I thought I was smart and capable enough to outsmart Google's authentication system. Spoiler alert: I wasn't.
How I Descended Into Authentication Hell
I had this tedious process that needed fixing - extracting data from multiple platforms, processing it, and generating reports. Classic case of repetitive, boring work that was perfect for Claude Code automation.
When you're building something alone with Claude Code, you become dangerously confident. There's no team to challenge your assumptions. No stakeholders asking annoying questions. Just you, your brilliant prompts, and infinite faith that you've figured everything out. This is exactly when you should be most worried.
I mapped out the entire solution in my head and even drew up a nice flow using Excalidraw. That beautiful diagram made me feel so fucking smart - look at all these connected processes, all the edge cases I'd considered! Clearly I had thought of everything.
But I skipped the most important step: asking myself why I needed to automate the entire fucking thing. I never even considered automating some of the processes instead of the whole damn workflow.
The main system was actually working fine - data extraction, processing, formatting. But this one part - Google 2FA authentication - became my white whale:
Version 1: Standard automation approach. Failed because 2FA doesn't work like regular APIs.
Version 2: Tried using browser automation libraries. Failed because Google's anti-bot detection is smarter than my scripts.
Version 3: This is where I really lost my mind. Went down the rabbit hole with Arc browser in debug mode, trying to use Chrome's DevTools Protocol. Picture this: me, at 2am, staring at browser logs, convinced I was about to crack the code. The whole thing was slower than a government website, crashed every 10 minutes, and was basically digital rubbish. But I was sure this was the "professional" way to solve it. Because clearly, if it's more complicated, it must be better, right? Wrong again, genius.
Version 4: I'm still working on this one - a much simpler "semi-auto Session Harvesting Service" where I manually login then share the session details back to the main system.
Each commit to GitHub gave me this false impression that I was making good progress. Look at all these updates! So much activity! New authentication approach, refactored session handling, improved error handling. Clearly I was solving important problems, right?
Wrong. I was just creating elaborate solutions to problems I had created for myself.
The Reality Check
At some point during all this, my staff jokingly asked me why I was spending so much time on this authentication thing. I explained my beautiful automation vision and how I was so close to cracking it.
That's when it hit me - and it hit me like a fucking truck because I'm the one who always reminds others to "take a step back and don't get too narrow-minded and end up fixing the symptom instead of the root cause."
Here I was, the guy who preaches about asking why before how, spending weeks trying to automate a 30-second manual task. The irony was so thick you could cut it with a knife.
Can I blame Claude Code for this? Probably not. This was pure human arrogance meeting reality.
My real goal was to save time on report generation. But I got so obsessed with building the perfect automated system that I was spending way more time building than the actual manual work would have taken.
0% of 100% is still 0%. I had zero working automation because I refused to accept anything less than perfect automation.
The Three Things I Learned (The Hard Way)
Projects aren't goals - they're tools. I fell in love with my automation project instead of focusing on my actual goal: saving time on report generation. If you're building something with AI right now, ask yourself what you're actually trying to achieve. Don't make my mistake.
Commit to not committing too early. When working solo with AI, I need to be extra careful about falling in love with my first solution. There's no one around to tell me when I'm being stupid. I have to be that annoying person who questions my own brilliant ideas. You should consider doing the same if you don't want to waste a month like I did.
Don't jump to conclusions with the answer you have in mind. I had my perfect automation solution mapped out before I fully understood the constraints. If I had asked better questions upfront - like "what parts actually need to be automated?" - I would have saved myself weeks of pain. Learn from my stupidity.
The manual authentication takes 30 seconds. My automated versions are still a work in progress after a month. 0% of 100% is still 0%. I had zero working automation because I refused to accept anything less than perfect automation.
How to Avoid My Stupidity
Here's what I should have done (and the specific questions you should ask yourself if you don't want to repeat my mistakes):
Do a "Why Session" with yourself - Even when building solo, write down what you're actually trying to achieve. For my project, I should have asked: "Is saving 2 hours per week worth a month of development time?" and "What's the minimum viable automation that gives me 80% of the benefit?" The answers would have been obvious. Force yourself to document the real problem before falling in love with solutions.
Question every "requirement" with specific tests - My brain labeled "full automation" as a requirement, but it was just an assumption. Ask yourself: "What happens if this part stays manual?" "What's the actual cost of doing this step by hand?" "Am I solving this because it's important or because it's technically interesting?" Most constraints aren't actually constraints.
Measure progress by working solutions, not GitHub activity - This one hurt the most to learn. GitHub commits don't equal real progress, but they feel like progress. Every day I was pushing code, refactoring authentication handlers, improving error messages. It felt productive as hell. But productive activity isn't the same as productive outcomes. I should have measured success by "does this save me time today?" not "how many commits did I make this week?" If your automation doesn't work yet, you haven't made progress - you've just been busy building monuments to your own stubbornness.
Accept that 80% automation beats 0% perfection - Ask yourself: "What's the simplest version that provides value?" and "What's the hardest 20% that's blocking everything else?" The hardest lesson for any perfectionist: partial solutions that work are infinitely better than perfect solutions that don't exist.
Bottom Line
Claude Code makes building solutions easier, but it doesn't make understanding problems easier. If anything, it makes it harder because you get seduced by what's technically possible instead of focusing on what's actually useful. Plus, it makes you feel like you have superpowers, so you'll continue paying for that monthly subscription while building increasingly complex solutions to simple problems.
Before I build my next automation, I need to ask myself: What happens if I only automate the easy parts? What happens if I leave the hard stuff manual?
Consider asking yourself the same questions if you don't want to waste your time building perfect solutions to the wrong problems.
Sometimes the best solution is the one that works, not the one that's perfectly automated.
Should we continue building cool shit with AI? Hell yeah. But make sure you're doing something that actually matters first. Learn from my mistakes if you don't want to waste your own month building the same broken thing four different ways.
When personal computers were invented, the famous quote attributed to IBM's Thomas Watson was "I think there is a world market for maybe five computers." Now here's the kicker - turns out Watson probably never said this shit. It's an urban legend that's been passed around more times than your college roommate's Netflix password. But the sentiment was real - those room-filling, 30-ton monsters seemed pretty fucking useless for regular people.
Fast forward to today: Nearly half the world's households have at least one computer - that's roughly 4 billion households globally. In developed countries, it's 80% of households. We went from "maybe five computers worldwide" to billions of households owning multiple devices, plus people carrying supercomputers in their pockets that they use to film their breakfast and share it with strangers.
When ARPANET (the internet's granddaddy) was created in 1969, it was strictly for military research and connecting universities. The thinking was simple - this packet-switching network thing was only useful for defense contractors, academics, and researchers. Regular people? Nah, they don't need this complicated network shit.
Now 5.5 billion people - that's 68% of the world's population - use the internet daily. You pay for internet service like it's electricity or water. In developed countries, 93% of people are online. It's not a luxury anymore, it's infrastructure. Your grandma video calls her friends in another country like it's nothing.
When ChatGPT was released to the public in November 2022, some dude in every office said using it to write code was cheating. "Real developers don't need AI assistance," they proclaimed while furiously clacking away on their $300 mechanical keyboards with custom keycaps and RGB lighting.
And now that dude is no longer with the company.
Let's face it, I don't want AI to take control of my life, but I want to make use of it to make my life better. It's just a tool, so you use it like a tool. Why? Because you will never see a farmer fall in love with his shovel.
The pattern is always the same. Every breakthrough starts with smart people explaining why it's useless, limited, or only for a tiny group of specialists. Then reality kicks in, the technology improves, costs drop, and suddenly everyone's using the "useless" thing.
So when the next big thing comes along and some expert explains why it'll never work for regular people, remember this: they said the same shit about computers, the internet, and AI.
The experts are usually wrong about adoption. The technology finds its way into everyone's life anyway.
Bottom Line
Don't let the "experts" convince you the future is smaller than it actually is. Use the tools, embrace the useful stuff, and let the skeptics explain later why they were wrong.
P.S.: If Thomas Watson was still around today, he'd probably say "I think there's a world market for maybe five AI chatbots." Meanwhile, ChatGPT alone has 200 million weekly users. Some patterns never change.
The word "common sense" sounds so straightforward and simple. Everyone knows what it means, and no one with the right frame of mind will say they lack common sense. In fact, they'll say others don't have common sense.
Here's the thing - it's also common sense that we humans always think too highly of ourselves and overestimate things we thought were simple.
Classic example: study hard, get good grades, then you'll find your dream job where you can enjoy a mug of beer after office hours at your favorite pub.
I had that picture painted very clearly when I was young. But that never happened. Real life had other plans - like bills that don't care about your dream job, and the reality that most "dream jobs" are just regular jobs with better marketing.
The Office Theater
Now, back to the common sense topic. Walk into any office and you'll witness the daily theater of "common sense" in action.
It's supposedly common sense to argue about who's right and who doesn't follow the SOP (Standard Operating Procedures). We'll spend 3 hours in meetings debating whether a 5-minute task is BAU (Business As Usual) or an ad-hoc request. Everyone becomes a fucking detective, investigating who should own what, when the customer is literally waiting for an answer.
Meanwhile, the dude who just does the work without the drama? They're labeled as "not following process."
The Real Question
Or is it common sense to just do our job when we damn well know it needs to be done?
I've seen teams collapse because everyone was too busy being "right" instead of being useful. The guy who fixes the server at 2 AM doesn't give a shit about your process documentation - he cares about keeping the lights on. The girl who still performs her excel magic show during her maternity leave (who happens to get labeled as "the girl that was pregnant") doesn't do it for the recognition - she does it because she knows the project will die without her input.
But here's where it gets interesting: the same people who complain about "lack of common sense" are often the ones creating systems so complicated that common sense becomes uncommon.
Bottom Line
We've turned simple decisions into committee discussions. We've made helping a colleague a political calculation. We've convinced ourselves that following process is more important than solving problems.
Sometimes, common sense is not common. And sometimes, we're the reason why.