Three months ago I rewrote my entire backend in Bun and Hono. That decision changed how I think about every technical choice.
I used to be the guy who would npm install first and ask questions later. Need authentication? Auth0. Need analytics? Metabase. Need LLM observability? LangSmith. Thatâs what youâre supposed to do. Donât reinvent the wheel. Stand on the shoulders of giants.
Then I watched an AI agent write 500 lines of perfect observability code in 90 seconds. And everything flipped.
âThe question isnât âshould I use open source or build it myselfâ anymore. The question is âcan I build this faster than I can learn the libraryâ.â
This isnât about being stubborn. Itâs not about NIH syndrome. Itâs about math. And the math has changed.
Iâve developed a simple framework for making these decisions now. Itâs not perfect, but it works. And itâs saved me weeks of frustration.
The Implementation Deep-Dive
Case 0: Authentication
This is the easy one. Never vibe code auth. Never.
Every single person who thinks âoh Iâll just write a simple login systemâ ends up regretting it. Password resets. Email verification. MFA. Session rotation. Rate limiting. There are 47 edge cases you will forget, and one of them will get you hacked.
Auth0, Supabase Auth, Firebase, Keycloak - none of them are perfect. All of them will frustrate you at some point. All of them are still infinitely better than anything you will write in an afternoon.
This is non-negotiable. Some wheels do not get reinvented.
đĄ Insight: Authentication is the only category where the cost of mistakes is catastrophic. No amount of time saved is worth exposing your usersâ data.
Case 1: Omnichannel inbox
I used Chatwoot at my last company. Itâs good. Solid docs. Stable. Reasonably fast. I would still recommend it to 90% of people.
But Chatwoot was built for human agents. Iâm building for AI.
I donât need assignment rules. I donât need team inboxes. I donât need SLA timers. I need every single message to flow directly into my agentâs memory. I need context about the customer, their previous conversations, their companyâs knowledge base, all available before the AI even starts typing.
I spent three days trying to bend Chatwoot to do what I wanted. Then I deleted the integration and asked Claude to build me an inbox.
It took 90 minutes.
It does exactly what I need. Nothing more. Nothing less. And when I decide tomorrow that I want to add WhatsApp support, or voice calling, or any other weird feature, I can add it in 10 minutes instead of fighting someone elseâs roadmap.
Case 2: LLM framework
LangChain builds abstractions over LLMs, adds middlewares and fallbacks, exports metrics and logs, wraps tool calls. For the core LLM orchestration logic, itâs still worth using. I donât want to write my own retry logic for 12 different model providers. I donât want to reimplement tool call parsing. That part is commodity, and LangChain does it well enough.
LangSmith is great for debugging during development. But I needed observability to be part of my product, not just a developer tool. I want control over what data I store, where I store it, and how I visualize it for end customers. I donât want to send all my userâs conversation data to a third party. I donât want to be locked into their pricing or their roadmap.
I spent an hour reading LangSmithâs API documentation to understand what features I actually used day to day. Then I asked Claude to build me a drop-in replacement. It took 2 hours.
Now I have:
- Full trace logging for every LLM call
- Cost tracking per user, per conversation
- Custom visualization that fits exactly into my dashboard
- No external dependencies, no extra bills
- The ability to add custom metrics whenever I want
I still use LangChain for the orchestration layer. I still use LangSmith for local debugging when Iâm building new features. But for production, all observability runs on my own code. And when a customer asks âcan we see how many tokens this conversation used?â I can add that feature in 10 minutes instead of waiting 6 months for LangSmith to ship it.
đĄ Insight: Use libraries for the boring commodity parts. Build the parts that make your product unique.
Case 3: Real-time communication
Some things you never build yourself.
Voice calling. WebRTC. Echo cancellation. Network resilience. This is not vibe code territory. This is the kind of problem that 100 engineer teams spend 5 years solving and still get wrong.
I looked at it for approximately 10 minutes. Then I signed up for LiveKit and sent them my credit card.
They solved it. They did the hard part. I donât want to learn about ICE candidates. I donât want to debug jitter buffers. I donât want to think about packet loss. I just want to make a phone call work.
This is the line. This is where the ratio flips.
If itâs a commodity problem that 1000 other people have solved exactly the same way? Use the library. If itâs your core differentiator? If you need to change it every week? If you have one weird requirement that nobody else has? Build it.
Case 4: Embedded analytics
And I donât need dashboards. I donât need pivot tables. I donât need to share reports with investors. I just need answers to very specific questions.
âHow many conversations had pricing mistakes last week?â âWhatâs the average response time per channel?â âHow many users actually use the voice feature?â
I used to spend an hour every week building new Metabase dashboards. Then I realized something: I can just ask Claude to write me a query.
I type âshow me average response time broken down by channel for the last 7 daysâ and 10 seconds later I have the exact numbers. No dashboard. No setup. No waiting for Metabase to render.
I deleted Metabase. I saved $50/month. I get answers faster. And nobody is asking me for dashboards anyway.
đĄ Insight: For solo founders, AI turns every database into a business intelligence tool. You donât need dashboards when you can get answers directly.
The Tradeoffs
This is not a manifesto against open source. This is a manifesto against cargo culting.
The rule everyone tells you is:
âDonât reinvent the wheelâ
But nobody tells you the fine print:
Unless learning the wheel takes longer than building it.
And with AI coding agents, that line moves every single day.
Hereâs what I give up when I vibe code:
- No battle testing: My observability code has 3 edge cases LangSmith already fixed. I will hit them. I will fix them. It will take 10 minutes each.
- No community: When something breaks, I canât Google it. I have to read my own code.
- No free features: I will never get that fancy timeline view that LangSmith shipped last week. I donât need it.
And hereâs what I gain:
- Total control: I can change literally anything in 10 minutes.
- Zero learning curve: I wrote it. I understand every line.
- Perfect fit: It does exactly what I need. Nothing more. Nothing less.
The Verdict
âThe biggest lie in software development is that âreusing code is always betterâ.â
That was true 10 years ago. That was true before AI coding agents. That was true when writing 500 lines of code took a whole day.
Now writing 500 lines of code takes 90 seconds. Now understanding someone elseâs 500 line abstraction takes 3 days.
The math has flipped.
| Task | Open Source | Vibe Code |
|---|---|---|
| Time to working prototype | 3 days | 90 seconds |
| Time to add one new feature | 8 hours | 10 minutes |
| Lines of code | 10,000 | 500 |
| Debug time when it breaks at 2AM | 4 hours | 10 minutes |
This is the new arithmetic. This is the thing no blog post will tell you.
You still shouldnât build your own database. You still shouldnât build your own WebRTC server. You still shouldnât build your own programming language.
But for everything else? For all the boring glue code that makes up 80% of your application?
Just build it.
The giants whose shoulders youâre standing on? Theyâre just as confused as you are. Their code has just as many bugs. And now you can write exactly what you need faster than you can read their documentation.
If youâre a solo founder and youâre spending more than 2 hours trying to integrate a library, close the tab. Just ask the AI to write it for you.
You will be shocked at how well it works.
Tell me Iâm wrong. I will argue with every single one of you in the comments.