DEV Community

Kuga
Kuga

Posted on

I'm an ER doctor. After decades without touching code, I built 3 websites with AI in one month — on my phone.

Built entirely on a mobile phone

I've been an emergency doctor in Serbia for 12 years, Emergency medicine is intense, and burnout is real. This summer I started building websites out of pure curiosity, and as a way to switch off after shifts.

My coding background: a little BASIC and Pascal, a very long time ago,lol. Since then, nothing. Not a single line of code.

In one month I built three websites. Along the way I finally understood things that used to be just words to me: what PHP is and how it differs from WordPress, what SQL and a database actually do, what a website is made of and how all the pieces talk to each other. All three sites are live, and I built every one of them on my phone, in conversation with AI.

The three sites

  • leaveittotheworld.com
    -an infinite wall where anyone can leave a short message to the world. You move around it like a map, zoom in and out, and new messages start near the center.

  • globalwallofgratitude.com
    -a place to publicly thank someone: your mother, a teacher, a neighbour, a stranger.

  • sendtothestars.com
    -pick a real star, exoplanet or galaxy on an interactive sky and send it a message. You get a card with a live counter showing how far your message has travelled at the speed of light, save the card and it works even offline. Everything on the sky is meant to be scientifically accurate. Positions, distances and descriptions come from real astronomical catalogues: the HYG star database, the IAU lists of official star and exoplanet names, exoplanet.eu, OpenNGC for galaxies and nebulae, and published research catalogues for star clusters and black holes.

How it actually works

I don't write the code. I explain what I want, we discuss it until the idea is clear, and only then does the AI write the code. I upload the files to my hosting, test on my phone and report back what's broken.

One rule I learned fast: first agree, then code. If you let AI write code while the idea is still vague, you end up rebuilding everything three times.

Problems I didn't expect

  • Touch screens are hard. On the message wall, tapping a card sometimes counted as dragging the wall. The fix was a bigger "drag threshold" for fingers than for a mouse. Pinch-to-zoom on the star map also jumped around until the touch handling was rewritten.
  • Big files and phones don't mix. One page grew to 200 KB and my phone struggled to download and edit it. We split the data (thousands of stars) away from the code, and the file dropped to 22 KB.
  • WordPress plugins can bite. One site runs on WordPress with code snippets. Importing a snippet silently created a duplicate, and the duplicate crashed the whole site. Now I always check for duplicates after an import.Not to mention the leftover plugins I tried at the beginning and then forgot about.

-$ About money

At first I thought: nice, maybe I can make a little money from this. I set up PayPal and got the whole payment flow working automatically: payment, server-side verification, the card appearing on the wall, the confirmation email. It worked with real payments.

Then I realised these are my first three "school" projects. They should be open to everyone, with no payment at all. So I switched payments off. All three sites are now completely free.

What surprised me

A few weeks after launch, a message appeared on the wall from a complete stranger. Nobody I know, it just came from the internet. That felt better than any payment would have.

What I'd tell another beginner

  1. With AI, a complete beginner can get something real online, but you still have to understand what you're building. Ask "why" a lot.
  2. Test everything on a real phone.
  3. Security and privacy aren't optional. Ask the AI to review them, then ask again.
  4. Launch before it's perfect, but not before it works.

How I got here

The websites weren't the beginning. It all started last year, when I discovered AI.

First came posters. I had images in my head that I could never draw myself, and suddenly I could see them on the screen, looking exactly the way I imagined them.

Then I made three children's picture books.

Then I moved on to fashion. I designed a collection of dresses, and not just pretty pictures: complete designs, detailed enough to actually be sewn in real life.

Then came AI music, and that one still amazes me. You can make songs exactly the way you like them.

And finally, the websites.

Right now I'm making music videos for the songs I created. Some use AI animation, some are built in code, so that everything on screen follows the music: the beat, the mood, the moment.

Every step taught me something for the next one. A year ago I couldn't have imagined any of this. Now I can't imagine stopping.

I'm still an ER doctor. This is what I do between shifts, and it has been the best kind of therapy.

To be honest, none of my friends would really understand what I'm talking about. When I say "I moved the config file above public_html" or "the canvas was drawing the sky from the outside," I get polite nods. So I needed to share this story with people who actually get it. That's you.

Does any of this have a point? I don't know. But it made me happy, and maybe it will make someone else curious enough to try.

If you visit any of the sites, I'd love to hear what you think, especially what's confusing.

U zdravlje, everyone. That's Serbian for "to your health." Coming from a doctor, I mean it literally.


This post was written with help from AI, of course , based on my own story.

Kuga

Top comments (13)

Collapse
 
ben profile image
Ben Halpern •

Thanks for the writeup

Collapse
 
branislav_kuga_4118d3b3ab profile image
Kuga •

Thank you, Ben! It means a lot, especially coming from you. This community was exactly the right place to share it.

Collapse
 
mudassirworks profile image
Mudassir Khan •

"what PHP is and how it differs from WordPress, what SQL and a database actually do" — that sequence is exactly what most CS curricula get backwards. you learned it from running code, not from slides. emergency medicine probably wired some of that: in a resus bay you learn by doing with feedback, not by reading a textbook first.

the phone constraint is the part i keep thinking about. no terminal, no local dev environment, everything through the ai conversation. that's vibe coding but with real domain knowledge injected at each step. did the ai ever give you something that felt medically wrong when you applied the same critical reading you'd give a drug interaction?

Collapse
 
branislav_kuga_4118d3b3ab profile image
Kuga •

Thanks, Mudassir! The resus bay comparison is spot on. You learn by doing, someone corrects you, and you do it again.

To your question: yes, that instinct kicked in more than once. I'm a brutal realist and I never take anything for granted. I always check at least twice. It's like drawing a drug from an ampoule: you read the label before you draw it into the syringe, and you read it again before you throw the ampoule away.

I do the same with AI. It sounds confident even when it's wrong. A few times it told me something was fixed, and when I tested it on my phone, it wasn't. Once the file with all my secret keys was sitting in a public folder until we did a proper security review. So I test everything myself, ask the AI to review its own work, then check again. Never trust the first answer.

Collapse
 
branislav_kuga_4118d3b3ab profile image
Kuga •

Thank you all for reading, commenting and reacting! 😁
I didn't expect over 300 readers. Some of you even visited the sites and left new messages on the wall. That made my week.
I learned something from every comment. See you in the next post.👾

Collapse
 
elijahbrown profile image
Elijah Brown •

The automatic confirmation email after payment is the contact path that usually gets skipped in AI-built launches. Even with payments off, if you keep a signup or message form, check the domain for MX / Null MX (timeout = unchecked) before treating that string as someone you can follow up with.

Collapse
 
branislav_kuga_4118d3b3ab profile image
Kuga •

Thanks, Elijah! Good point. On one of the sites I already block disposable email domains, and two of them use a mail service that reports bounces. Checking for MX or Null MX before sending is a nice extra step, I'll keep it in mind.

Collapse
 
elijahbrown profile image
Elijah Brown •

Thanks, Kuga. That sounds like a sensible layered approach: block known disposable domains, then let the mail service's bounce handling catch what remains.

Collapse
 
beusebiu profile image
Eusebiu Balan •

Tap versus drag is one of those bugs that never shows up with a mouse. You only find it by using the thing with your thumb, and building the whole thing on the phone meant you found it on day one.

First agree, then code took me a while to learn with AI too, even after nine years of writing code by hand. Every time I skip it I end up rebuilding the same screen again.

Collapse
 
branislav_kuga_4118d3b3ab profile image
Kuga •

Thank you, Eusebiu! That's exactly how it happened. I'm on my phone all the time, so the bug showed up the moment I tried to open a card with my thumb. And it's reassuring to hear that "first agree, then code" isn't just a beginner's lesson. Nine years of experience and the same rule applies. 😄

Collapse
 
goshee profile image
Michael Murphy •

This is so encouraging - three live sites in a month, on a phone!

One trick that saved me a lot as my sites grew: before asking the AI to build anything, I write the whole plan in a .md file and let the AI improve the plan until it stops finding things. Then it builds once. Far fewer "fix it again" loops - and on a phone that matters.

Congrats, and welcome to the builders.

Collapse
 
branislav_kuga_4118d3b3ab profile image
Kuga •

Thank you, Michael, and thanks for the welcome! 🙏
That's a great trick, and it's close to what I ended up doing without planning it. For each site I keep a summary document with every decision we made, and I bring it into each new conversation so the AI doesn't start from zero. But I've never made the AI polish the plan until it stops finding things. That's the part I'm stealing. 😄
On a phone, every "fix it again" loop means downloading, uploading and testing all over again, so building once is worth a lot.

Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more