Vitoria Lima

How to build (vibe code) (almost) anything

My recipe for creating any project/make any project get off the ground in 1 day to at most a week.

At MIT, there is this class called "How to make (almost) anything", this is my goal with this blogpost.

I am told that I may be the best vibe coder haha but I learn something new everyday. So far, in my humble opinion, Claude code is the best coding agent out there, I almost consider it a founding engineer. What is the point of telling things to an eng: the time that it takes me to explain my idea, i could just get it built with Claude. That said, there's a difference between creating a lil feature in an already mature code base, and creating something entirely from scratch.

In this holiday season, I am grateful to be spending time in multiple personal projects and multiple personal product bets, and it's all a 1 (wo)man show.

Here is how I figure out that I can (vibe-)code anything.


First of all, have 3 separate repos:

Landing page

Step 0:

Step 1:

Step 2:

Step 3:

Example:

Product/webapp:

Step 1:

Step 2 (for this, I use Claude code):

Step 3:

Step 4 (Claude code, same):


Proof

Here is a project I recently completed within 5 hours (from idea, to fe to be) and got entirely deployed:

https://www.happy-grateful.com

It is possible, you can do it!


The paramount importance of design thinking

Growing up, I played the piano. I did it professionally, like my dream was to become Martha Argerich growing up and I used to practice 12+ hours a day (more here); this is to say that: it might be lame, but it taught me a lot about how to think properly.

When you play the piano, you need to practice 1 hand at a time. When you learn a new piece, especially complex ones (hello Bach and 5-voices fugues, hello well tempered klavier), even if 'you can', it is absolutely bad practice to read at first sight something with both hands. Complex pieces, you need to break them down in 2 separate hands. At times, you might need to break each voice separately per hand, and practice different parts of a piece per hand independently and then per hand group and put it together later. As a child, I could read anything at prima vista, but even if I could, it does not mean it is good practice or that it is the right way to long-term study a piece to bring to a concerto stage.

I think that superhuman coding agents (claude, replit, cursor, etc) are suddenly giving everyone the ability to 'read at first sight', a prima vista. And this creates a ton of technical debt. Even if it might feel boring to practice one hand at a time, or to design fe and be separately, you are literally saving yourself up time later and preventing many mistakes beforehand.

Let's not forget that fe engineering and be engineering are 2 entirely different job postings, and forcing your coding agent to do all at once is not even what they were designed to do. So taking 1 extra hour to prompt and design think things properly is already saving you months of onboarding 2 engs: when you think about it that way, 1 extra hour of design thinking is not that much, right?

Well darling and there you go: here is how I can vibe code anything.

Learning a ton everyday - please feel free to email me (vitoria@vitorialima.com) with questions or opinions!

Let's all build something beautiful