An empty file is the most honest document in the world. It makes no promises and hides no bugs. It is also, briefly, terrifying.
Every project begins in this void — a blank buffer, a blinking cursor, and the quiet suspicion that you have forgotten how to do this. You have not. You just have not started yet.
The tyranny of the blank page
The blank page is not empty because you have nothing to say. It is empty because you have too much to say and no idea which sentence goes first. The cure is not inspiration. The cure is a bad first line.
Write the wrong thing quickly. The right thing is much easier to find once there is something to correct.
The same is true of code. The first function you write will be embarrassing. Write it anyway. You cannot refactor a void.
A small ritual for starting
When I am stuck at zero, I do the same three things:
- Name the thing. Even a wrong name gives the void an edge to push against.
- Write the smallest piece that could possibly work.
- Run it immediately, before it is ready.
// not good. not finished. but it exists.
function summon(intent: string) {
return `manifesting: ${intent}`
}
console.log(summon('anything at all'))
That console.log is the first keystroke that sparks a universe. It does almost nothing. It is also the entire difference between a project and an idea.
The void gives back
Here is the part nobody tells you: the void is generous. Once you have put a single true thing into it, the next thing arrives on its own. Structure suggests structure. The empty file, filled by one line, starts asking to be filled by the next.
You are not fighting the emptiness. You are negotiating with it.
Start badly. Start anyway.