I'm not a developer. I've never been a developer. I can't write a React component from scratch, I don't know what a hook does without looking it up, and TypeScript generics still look like hieroglyphics to me.
I built this website. The one you're reading. While walking through Lisbon. On my phone.
How it actually works
I have a digital colleague. It runs on my Mac at home. When I send a Telegram message, it reads the project, writes the code, commits to a QA branch, pushes to GitHub. Vercel builds a preview.
The whole loop takes 2-3 minutes. I send a message. I keep walking. My phone buzzes with a preview URL. I check it. Give feedback. Another 2-3 minutes. Done.
"Simplify the menu to 4 items and add a Writing section."
That's my instruction. Not pseudocode. Not a spec. Just what I want.
A typical day
I'm in Lisbon. Walking to a coffee shop:
"The navbar has too many items. Drop IGAP and Use Cases from the main navigation."
Preview URL arrives while I'm ordering coffee. "Good, but the Writing link should come before About." Another message. Preview URL. Done. I haven't sat down yet.
After coffee, walking to the next spot: "The homepage needs an article list below the hero."
By the time I arrive, it's live on the preview. "The spacing between articles needs to breathe more." Fixed in the next cycle.
This entire site went from pitch deck to personal content site in a few days. The navbar, the new pages, the article system, the writing you're reading now. all built through Telegram messages while I was out living my life.
What non-developer actually means
People hear "non-developer" and think I'm being modest. I'm not. I genuinely cannot tell you if a TypeScript file is correct by looking at it.
But I know what I want. I know when something looks right and when it doesn't. Good spacing versus bad spacing. Clear navigation versus clutter. Content that flows versus content that doesn't.
Development isn't about writing code. It's about making decisions. What should this look like? How should this behave? What matters?
The code is an implementation detail. My AI handles implementation details. I handle decisions.
The gap that disappears
What used to happen when I had an idea:
- Have the idea
- Write it down
- Wait until I'm at my laptop
- Open VS Code
- Try to remember the idea
- Iterate through multiple tries
- Maybe ship it that evening
What happens now:
- Have the idea
- Send a Telegram message
- Check the preview URL
- Done
The gap between thought and action used to be hours. Now it's minutes.
I've shipped more features from my phone than most developers ship from their desk. Not because I'm faster. because the friction is gone. No context-switching. No "I'll do it when I'm at my laptop." I talk. My colleague builds. I verify.
The phone is just where I happen to be. The point isn't the device. it's that the gap between intent and execution is small enough that location stops mattering.
I build software while walking. Not because walking is the optimal development environment. But because the friction is so low that even walking is enough.