Welcome to the vibes!
Hi, fellow vibe coder! Welcome to a newsletter where I intend to share thoughts, insights, learnings, tips and tools about vibe coding.
In the next few words I hope that I can convey who I am, why I’m doing this and what is my vision for vibe coding.
Who am I?
My name is Luis. I’m a Staff Software Engineer. I spent 5 years at Meta building production machine learning systems. More recently, I was a founding engineer building AI agents at moonhub.ai.
I have been in love with AI (or machine learning) since college. When I understood how Google, Facebook and others were able to create such magical products, it became evident to me that this technology was the next frontier.
Over the years the novelty wore off… until ChatGPT came out. Modern LLMs are so ground breaking because of their general and instruction-following capabilities. Unlike classic machine learning models, we can “program” LLMs for a variety of tasks. And they’re just one API away!
One task that they have shown to be exceptionally good at is code generation.
A brief history of code
There is one fundamental ingredient in vibe coding: AI code generation.
I see AI software building as a natural next step in software development.
The history of software is paved by higher and higher layers of abstraction. One of the reasons why we don’t program with toggle switches anymore is because we created the assembly programming language. The reason why we don’t program on assembly anymore is because we created higher level languages, like C++ and Java. The story goes on with APIs, programming frameworks, web frameworks, the cloud, workflow automations and low-code/no-code tools.
Compilers are one of the best examples of code generation. Each programming language goes through a series of translations, all the way to bytes. Web frameworks, like Rails or Django, generate scaffolding and boilerplate code. The idea is to accelerate development and, inadvertently, open the door for more people to build software.
LLMs can be thought of as a compiler that turns everyday text into code. It’s the most sophisticated layer of abstraction that we have so far!
From vibe coding to production
There is one important observation in Andrej Karpathy’s definition of vibe coding:
It's not too bad for throwaway weekend projects
It’s true. I’ve helped dozens of vibe coders fix their vibe coded applications. And as of June 2025, it’s very hard for a builder to ship production-grade software purely through vibes.
Vibe coded software can look like a house of cards. Truly built without supervision, hallucination-prone and context-limited LLMs can derail the code into unintended bugs and design anti patterns.
But that’s ok! We’re still early on in what looks like a very promising new era of software development. That’s why I’m writing this and offering free consultations. I want to be at the forefront!
Through this newsletter, I hope that we can exchange thoughts and ideas, and learn together how to fix our vibed code and make it production-ready.
I’m very bullish about AI code generation, vibe coding or AI software building, specially for non-technical people. I believe that we’re going to design new ways to develop software. The history of technology is that of democratization.
As a software engineer, I understand the pure thrill of bringing ideas to life.