How to become a 10x ramble-coder
Yes, your roommates will worry about you
Andrej Karpathy recently tweeted about his new favorite way to work with LLMs - “a nice long ramble session”, as he called it.
This is something my cofounder and I have been doing for months now, and it’s such a step up from regular old typed vibe-coding that I can’t remember the last time I used my keyboard to prompt an agent. We’ve gotten worried looks from people sitting next to us at coffee shops, neighbors closing their windows because they’re trying to sleep while we ramble to Codex at 1AM, and so many more embarrassing incidents that I’d rather not remember.
But the thing is, it works so goddamn well. We can’t stop doing it.
I’ll start out by trying to explain exactly why I think this is the future of communicating with agents. Then, I’ll share some tips on how to get the most out of your rambles. All I ask is that you give it a try - I promise you will not switch back.
So why is rambling better than typing?
Well first of all, it’s a less lossy form of compression.
When prompting your agent, what you’re trying to do is translate the best representation of what’s in your head into something it can understand - language. The issue is that your train of thought - or at least mine - is constantly contradicting itself.
I’ll give an example. Let’s say I want to build a login screen. This is approximately what my train of thought looks like:
Okay, login screen. I want an email input and a password input, a sign up button and a log in button.
Oh and I want a way for people to recover accounts if they forget their password.
And people should be able to log in with Google, Github, other stuff.
Actually, maybe not Github. My users aren’t engineers, no need to set that up currently.
Although why not add it - it definitely can’t hurt
Oh and I want it to look good. Maybe a split screen with the log in on the right and some image on the left
Maybe an AI generated image - I’m not entirely sure what I want it to look like
Or maybe we should have it be a modal - that’s one less screen to have to take the user to
Oh and I also do want a log in with Facebook option, there’s some overlap there
What could be cool for the image is ASCII art - maybe an ASCII art city? Ugh, that’s so generic though, it should look different
Let’s be real though, nobody’s gonna look at the login screen. Nobody cares what it looks like. That’s just vanity
You know what I hate though? When a log in page makes you go to a different page for sign up. I don’t want that
Also can we do one time codes instead of passwords? It’s way simpler.
I guess I just want something simple that works.
[and it keeps going for a while - way too long for a login page, but I digress]
There’s a lot of interesting nuggets there. Things that an agent could pick up on and use to guide its decision making:
My users are non-technical
I care about simplicity
I don’t like redirecting users from the current page unless necessary
I don’t like generic UI
I get caught up chasing vanity sometimes
Now, let’s say I wanted to turn this train of thought into a prompt. I’d probably write something like:
Build a login screen with email/password fields, sign up and login buttons, password recovery, and social login (Google, maybe Facebook). Split-screen layout, image on one side. Keep it clean.
Notice how much nuance got lost. And that’s for an extremely simple, non-consequential decision. Imagine how much valuable information your agent is missing out on when building the core product.
Rambling allows the agent to get to the reasoning behind every decision. And once it understands how you reason, it gets so much better at understanding your taste, and you’ll immediately notice the number of follow-up prompts go down.
Okay, so rambling works. How do I ramble better?
The most important thing is to lean into your uncertainties. Your thought process behind why an alternative might not work is often way more revealing than the decision you end up making.
It’s the alternative-that-almost-worked that tells the agent about your constraints, not just your preferences. If we go back to the login screen example, the modal-vs-split-screen back-and-forth told the agent more about my redirect aversion than either final choice did.
I’d argue that this should be taken to the extreme, which is where the next tip comes in: multiplayer rambling.
Sometimes, my cofounder and I will have what we call “constructive arguments”. We’ll turn on the voice memo app on our phones and just start talking about everything. Technical decisions, short-term decisions, long-term decisions, what biases we have, what each one of us believes. We’ll encourage each other to disagree, because who knows what valuable nuggets could come up when we do.
These conversations can take hours. We’ll keep going back and forth, digging deeper on things that are sometimes inconsequential, no note-taking, maybe a whiteboard session or two, but mostly just rambling.
Once we’re done, we feed the recording to Whisper, have it identify speakers and transcribe the audio, and then put that into our Codex. That conversation becomes the guiding “ground truth” on what we believe, and it has enough nuances captured that Codex basically becomes a third founding member.
We do this for new features, product pivots, outreach decisions, copywriting decisions, and pretty much everything else. We’re not asking Codex to “decide who’s right”, because quite frankly it probably has no idea. We’re just asking it to operate with full context.
Almost immediately, your agent will just “get it” in a way that it never would if you typed something in, or even just spoke to it on your own. The disagreement itself is the data that gets your agent and you, the user, on the same page.
Another tip I’d recommend is leaning into your emotions. This might not apply to everyone, but for me personally, I find it way better to voice my emotions than to get them down in writing, especially if I’m writing product-related prompts. I tend to compress my train of thought into technical-first language.
Voicing your emotions is important because it reveals your priorities to the agent. Let’s say I have some feedback on a completed coding task. If I were to write a prompt about this, I’d probably end up flattening all my feedback into a list:
The onboarding page is confusing
The launch button is broken
The copy is too long
Add a verification step
Now, let’s say I rambled instead.
I don’t like the onboarding. I don’t like that it expects me to know what to do next. Also, I’m not sure exactly what the first bullet point means. I think it could be simpler, it’s frustrating me that I know what I want to do with this but I’m having to figure out for myself how exactly to do that. It’s not walking me through the flow it should be walking me through, and that sucks.
Also, the launch button is broken. It doesn’t take me to where I want to go.
I also think the copy is way too long. I don’t like that it has words in there that serve no purpose except padding. Nobody is going to want to sit through that, they don’t care enough to read all of this. Actually, a lot of what is in the copy could be cut because it’s under the umbrella of onboarding. The copy should just hook the user, if they’re interested the onboarding should be the teacher.
Also, I don’t like how sales-y it sounds. I think it comes off as disingenuous, our product is good enough as is and we should just explain what it does, not overplay how amazing it is. That’s not doing it for me, and it definitely won’t do it for potential users.
And on verification, I think we need to add a verification step to make sure it’s secure. Actually, is there a way to ensure security without verification? There might be a way to do that, if there is that would be great because I don’t want to force the user to do more work than is necessary. Verification itself is not a huge deal, all I care about is that the product is secure and if you can figure out a simpler way to do that that’s great. If not, then just do verification instead
Again, notice how much nuance was added. The agent knows what I care about, which is way more valuable than just what I want implemented. It can now make decisions that match my priorities and thought process, without me having to guide it on exactly what to do.
I know for a fact that the output from the latter prompt will fit what I pictured much better, but sitting down and typing it out would be incredibly tedious, if at all possible without losing my train of thought. And the longer I ramble, the more context it gets on how I feel about everything, and the more it can understand the core assumption that it made that I don’t agree with.
Okay, cool. How do I start?
The first thing to do is, if you haven’t yet, download a dictation app. Some examples are Wispr Flow (use my referral code!), Willow, Aqua Voice. They all pretty much do the same thing.
Then, just start talking. It’s that easy.
For conversations with more than one person, record yourself on your phone, then you can use any speech-to-text model that has speaker identification to transcribe.
And if your roommates or neighbors complain, blame it on me. And maybe tell them to subscribe to my Substack. :)
Moe Khalil
CTO at Webhound

Thanks for sharing this! Quick question: why not just use the voice mode in Claude or ChatGPT?