โญ โœจ ๐Ÿ’ซ
Guide ยท AI ร— Websites

Build a site of any complexity in one evening, no code and no builders โ€“ with voice messages in Telegram

Send a voice message to a bot โ€“ five minutes later you have a working landing page. A couple more spoken edits, and the site is live on your own domain. No coding, no contractors, no laptop open. I walk you through the whole chain โ€“ from setup to your first live URL.

โฑ Setup time: 1โ€“2 hours ๐Ÿ’ฐ Budget: ~$40/month ๐Ÿ›  Difficulty: beginner-friendly โœ๏ธ Paul Breit
Before you start โ€“ about access

If you are outside the US and EU, Claude may not work directly: Anthropic restricts access from some regions, and even paid accounts can get caught up in it. So if that is your situation, you do all the Claude work through a VPN in the country where your payment card was issued. The server we spin up later will sit in a supported region โ€“ it needs no VPN at all. In other words, you only turn on the VPN on your own computer, while the real work runs on the server, which talks to Anthropic legally and reliably.

What's inside

  1. What you get โ€“ a picture of the finished result
  2. What the system is built from
  3. Signing up for Claude
  4. Paying for Claude
  5. Renting a VPS
  6. Installing Claude Code on the server
  7. Creating a Telegram bot
  8. Connecting the bot to Claude
  9. Buying a domain
  10. Your first site by voice
  11. Six advanced tricks
  12. Common mistakes

Section 01What you get โ€“ a picture of the finished result

You're standing in line at a coffee shop. You open Telegram, tap the microphone, and say: "build a one-pager for my photography course, audience is moms 30 plus, goal is to book a free consultation." Three to five minutes later an HTML file lands in the chat.

You double-click it โ€“ and there's a live site on your screen. With all the sections, colors, buttons. A good one. Not perfect, but working โ€“ the kind you can already collect leads with.

Then come the edits, right there in the same chat. "Swap the photo on the second screen, make the button green, add a question about refunds to the FAQ." For every message the bot sends back a new version within a minute. Ten or fifteen iterations โ€“ and the site is built exactly the way you pictured it in your head.

At the end โ€“ one message: "publish it to the server, domain fotomom.com, I already bought it." Ten minutes later the site opens in the browser on that domain. With a green padlock. From any country.

That's it. You never opened a laptop. You never touched a terminal. You never typed a single command by hand.

Compared to the old way

A site like this used to be built like this: a brief to a designer, two weeks of waiting, $400 up front. Then another week of edits. Then a developer. Then a month until launch. Now โ€“ one evening. A single one. And about $25 for the server for the whole month.

Section 02What the system is built from

The system has four parts. Each one costs pennies or is free altogether. The main thing is understanding how they connect to each other.

Four building blocks

How they connect

The logic is simple. You message the bot in Telegram โ€“ the bot passes your command to Claude on the server โ€“ Claude builds the HTML โ€“ the bot sends it back to you as a file. If you ask to publish โ€“ Claude puts the file in a folder on the server, which serves it on your domain out to the internet. That's the whole scheme.

Next we'll go up this chain from the bottom. First we assemble the building blocks themselves: sign up for Claude, rent the server, wire it up with the bot. Then we buy a domain and build the first site.

Why through a bot, not straight from your computer

You can install Claude Code on a laptop too โ€“ but then you're tied to it. Close the lid and everything stops. A VPS runs 24/7. More importantly: requests to Claude go out from the server's IP, not through your VPN. The risk of getting your Anthropic account flagged drops dramatically โ€“ and that's the most common pain point for beginners.

Section 03Signing up for Claude

If you're in a region Anthropic restricts, signing up directly with a local number and card won't work. But there's a path that works, and it takes about 30 minutes. You need three things: a VPN, a foreign number for SMS, and an account on claude.ai. If you're in the US, you can skip the VPN and number tricks and sign up directly.

Step 1

Turn on a VPN with a European or US server

Any decent VPN will do: Proton VPN, Mullvad, NordVPN. The key rule โ€“ the VPN country must match the country of your payment card. This matters: Anthropic catches the mismatch and flags the account as suspicious. If the card is from the EU โ€“ use a VPN in the EU. If the card is from the US โ€“ use a US VPN. (If you're already in the US, this is moot.)

Step 2

Buy a virtual number for SMS

Go to a virtual-number service (with the VPN on), sign up by email, top up the balance with a card or crypto. Search the services for "Claude AI" or "Anthropic." Country โ€“ US or UK (Anthropic is most lenient toward those). One number costs around $0.10โ€“$0.50, check the provider's dashboard for current prices.

After the purchase you get a foreign number, something like +44 7912 345 678. Copy it, you'll need it in a minute.

Watch out for fakes: only use well-known SMS providers like 5sim, OnlineSIM, or Twilio-style services. Clones on look-alike domains are scams โ€“ the principle is the same across all the real ones.

Step 3

Sign up on claude.ai

Open claude.ai, hit "Sign up." Enter a Gmail (or create a fresh one if you don't have it โ€“ Anthropic accepts Gmail confidently). Paste the virtual number, and in the SMS field โ€“ the code that arrived in your provider's dashboard. Done, you're in.

The main rules to avoid a ban

If you're using a VPN, never open Claude without it โ€“ not even for a minute to check something. Don't switch VPN countries: pick one and stick with it. Don't use one number across several accounts. One account โ€“ one person, one region. Anthropic bans for good, with no explanation and no refund.

New as of April 2026 โ€“ ID verification

Since April 2026 Anthropic additionally requires ID verification for suspicious accounts โ€“ a passport plus a selfie. Sign up from a clean device, on a stable VPN, without rushing. A VPN with a virtual number alone is no longer a guarantee.

Section 04Paying for Claude

For our task you need the Pro plan โ€“ $20 a month. Free Claude in the browser is just chat, with no agent features. And we specifically need Claude Code, which can crawl around the server and publish files. It only works on paid plans.

If your local cards don't go through on the Claude site, here are three working ways around it.

Option 1 ยท The simplest

Through your normal card

If you're in the US or EU, this is the whole story: open the "Upgrade to Pro" section on claude.ai and pay with your usual card. A regular online purchase, like any other.

Availability of plans can fluctuate by region โ€“ if it says "unavailable," try again later.

Option 2 ยท If you have a foreign card

Direct payment on the Claude site

Any US or European card works โ€“ you set it up right on claude.ai in the "Upgrade to Pro" section. No middlemen, no fees. Wise and Revolut work too.

Option 3 ยท A virtual foreign card

Through services that issue virtual cards

These services issue a virtual card from a foreign bank. You top them up and pay in dollars; the top-up fee is usually 5โ€“10%. Not every such card goes through on the Claude site (Anthropic blocks some selectively), but if it goes through โ€“ everything after that is stable.

Which option to choose

If you just want to try it โ€“ Option 1 with your normal card. The fastest, no surprises. If you plan to work with this long-term โ€“ get a card from any major bank (Option 2). It's a one-time effort, and after that every subscription runs without middlemen.

Section 05Renting a VPS

A VPS is a rented computer on the internet that runs 24/7. This is exactly where Claude and your bot will live. You pay $20โ€“30 a month โ€“ and you get a server that never shuts down.

Why the server should be in the US or EU

Anthropic restricts connections from some regions. If Claude tries to reach their servers from a flagged IP โ€“ the account can get blocked instantly. So we take a VPS in a well-supported region: the US, Germany, the Netherlands, or Finland. Then all requests to Anthropic come from a clean address โ€“ legal and unflagged.

Where to get one

The best balance of price and quality for this task is a mainstream cloud provider with a simple dashboard and fast support. DigitalOcean, Hetzner, and Vultr are all excellent choices โ€“ clean control panels, servers in the US and the EU, and support that answers in minutes. Pick whichever has a data center closest to your audience.

๐Ÿš€

Recommended hosts

DigitalOcean, Hetzner, and Vultr are all solid for this: card payment, English dashboards, and data centers in the US and Europe. A server with the specs we need runs around $20โ€“30/month.

Go to DigitalOcean โ†’

Hetzner is usually the cheapest for raw specs; DigitalOcean and Vultr have the friendliest dashboards for beginners. Any of them works.

Which server to order

Sign up with your provider by email. In the top menu look for "Droplets," "Cloud Servers," or "Deploy," then "Create server." You pick the specs to fit our task:

ParameterValue
LocationUS, Germany, the Netherlands, or Finland
OSUbuntu 22.04 LTS or 24.04 LTS
CPU2 cores
RAM4 GB
Disk40 GB SSD
Budget~$20โ€“30/month

This is enough for both the bot and all the sites you'll be building โ€“ dozens of landing pages live comfortably on a single server at once. If you need more later โ€“ the plan scales up with one button, without losing data.

Once the server is created, the provider shows three values: the IP address, the login (usually root), and the password. Save them in Notion, your notes, or a password manager. We'll use them in five minutes.

Section 06Installing Claude Code on the server

This is the part where it gets magical for the first time. Instead of typing five commands by hand, you log into the server once through the browser console โ€“ and from there Claude sets itself up. You just watch.

Opening the web console

In your provider's dashboard, open your server. There's a button labeled "Console" or "Web terminal" โ€“ click it. A black window opens right in the browser. That's the server's terminal; you don't need to install any separate programs.

Command 1

Install Node.js

Copy and paste this into the terminal as one line, hit Enter:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && sudo apt-get install -y nodejs

The install takes 1โ€“2 minutes. This is the environment Claude Code runs in.

Command 2

Install Claude Code

npm install -g @anthropic-ai/claude-code

Another minute. This is the Claude program itself.

Command 3

Launch Claude and authorize

claude

Claude will show you an authorization link. Before you open it โ€“ if you're in a restricted region, turn on the VPN on your computer. The same country as your Claude payment card. Without the VPN Anthropic sees your real IP and may block the account before your first request. (If you're in the US, just open the link.)

Open the link in the browser, sign in to your Anthropic account, copy the confirmation code. Go back to the web console โ€“ paste the code. Done, Claude is authorized.

After authorization, no VPN needed

Every further request to Anthropic goes out from the server's IP. Your laptop isn't part of the chain at all. You can turn off the VPN and work over your normal internet โ€“ it's completely safe for the account.

These three commands are the only place in the whole guide where you type anything into a terminal by hand. After that, everything happens through the Telegram bot.

Section 07Creating a Telegram bot

Telegram has a "bot for creating bots" โ€“ it's called BotFather. Through it you get your own personal bot with a unique token in three minutes.

Step 1

Open @BotFather in Telegram

The direct link is t.me/BotFather. It has a blue "verified" checkmark โ€“ that's the official bot. Hit "Start."

Step 2

The /newbot command

Send /newbot. BotFather asks for the bot's name. Enter anything, for example "My Assistant." This is the visible name โ€“ with spaces and any characters.

Next โ€“ the username. It has to end in bot, for example smith_assistant_bot. If that one is taken โ€“ BotFather asks for another.

Step 3

Save the token

After it's created BotFather sends a string like 7234567890:AAH-jKlMnOpQrStUvWxYz1234567890abcdefg. That's the token. Essentially โ€“ a password that programs use to control your bot.

Never forward the token anywhere โ€“ not to chats, not to GitHub, not into screenshots. Save it in Notion or a password manager.

Step 4

Find out your Telegram user_id

Open the bot @userinfobot, hit "Start" โ€“ it instantly sends you your ID, a number like 265489854. Save it next to your bot token.

This ID is needed for one very important thing: so the bot listens to only you, not anyone who stumbles across it. Without that filter, your bot gets found by every random user within a week, and strangers start poking your server with their own commands.

Section 08Connecting the bot to Claude

Here's where the whole point of this begins. You have Claude on the server and a Telegram bot token. Now we connect them โ€“ and you switch to controlling the server by voice straight from the messenger.

One big prompt

Go back to the web console (where Claude is running). If Claude closed โ€“ relaunch it with the claude command. Then you write one big, detailed prompt:

I have a VPS. Access details:
โ€“ Server IP: 123.45.67.89
โ€“ User: root
โ€“ Location: Germany

I have a Telegram bot. Details:
โ€“ Bot token: 7234567890:AAH-jKlMnOpQrStUvWxYz1234567890abc
โ€“ My Telegram user_id: 265489854 (only this ID
  may use the bot, ignore everyone else)

The task โ€“ set up a full integration on the server:

1. Install the libraries python-telegram-bot, anthropic,
   requests, python-dotenv.

2. Store all secrets (bot token, my user_id)
   in /home/automation/secrets/bot.env with 600 permissions.

3. Create a script /home/automation/scripts/claude_bot.py
   with the following logic:
   โ€“ Connects to Telegram via the token.
   โ€“ Listens for incoming messages.
   โ€“ If a message is NOT from my user_id โ€“ ignore it.
   โ€“ If it's a text message โ€“ pass the text
     directly to Claude as a command to execute.
   โ€“ Don't handle voice messages at this stage yet,
     we'll add that in the next step.
   โ€“ Get the reply from Claude, send it to me
     in Telegram. Split long replies into parts
     of 4000 characters.
   โ€“ If the reply contains a file (HTML, image,
     document) โ€“ send it as a file, not as text.

4. Passing the command to Claude:
   โ€“ Via headless mode: claude --print "$COMMAND"
     --allowedTools "Read,Write,Edit,Bash,Glob,Grep"
   โ€“ Current working directory: /home/automation/
   โ€“ System prompt: "You are my personal assistant,
     you work with files in /home/automation/, you answer
     briefly and to the point, and before dangerous actions
     you ask for confirmation."

5. Logs (incoming, replies, errors) โ€“ to a file
   /home/automation/logs/bot.log.

6. Wrap the script in a systemd service claude-bot,
   autostart on boot, restart on crash
   with a 10-second delay.

7. After setup, send a test message
   to my user_id in Telegram: "Bot is up, ready
   to work."

At the end, show me all the code you created and the
commands you ran on the server.

Claude reads the task, confirms the plan, gets to work. It will ask clarifying questions โ€“ you answer "yes" or steer it. Within 10โ€“15 minutes it sends a test message to your Telegram bot itself.

Checking the connection

Open your bot in Telegram โ€“ by the username you set in BotFather. Hit "Start," type "hello." If a reply comes back within a few seconds โ€“ the connection works.

From here on, all the control happens right in this chat. You can close the web console; you don't log into the server anymore.

Turning on voice messages

Right in the chat with the bot, send it this message:

Add voice-message recognition to yourself
using free Whisper right on the server.

When I send a voice message โ€“ you download the audio,
transcribe it to text locally (no OpenAI, no
paid services), then handle it
like a normal text command.

Pick a Whisper model that's good enough in quality
and doesn't lag.

After setup, let me know you're ready and ask me
to send a test voice message.

Within 5โ€“10 minutes the bot installs Whisper itself, downloads the model, restarts. It writes "ready, send a voice message." You hold the microphone, say "show me your status" โ€“ the bot recognizes it, runs it, replies.

What you now have

A personal assistant in Telegram that lives on your server. It listens to only you. It understands voice messages. It can do everything Claude Code can do โ€“ write code, crawl through files, install programs, spin up sites. And all of it is controlled by voice from anywhere โ€“ from the car, a cafe, a line, the gym.

Section 09Buying a domain

A site without a domain only lives on your computer. No one on the internet sees it. So a domain is a required part. It costs pennies and takes five minutes to buy.

Where to buy

The simplest thing is to buy it from the same place you got your server, so everything stays in one dashboard. DigitalOcean, Hetzner, and most hosts have a "Domains" tab. If you prefer a dedicated registrar, Namecheap or Cloudflare are both great and cheap โ€“ connecting the domain to your server then takes two clicks.

Step 1

Go to the "Domains" section

In your registrar's menu โ€“ "Domains," then "Register a domain." Enter the name you want โ€“ for example, fotomom.com. The service tells you right away whether it's free or taken.

Step 2

Pick the extension and pay

You pay โ€“ with your usual card. Within 5โ€“30 minutes the domain shows up in your account. Done.

Why you buy the domain by hand, not through the bot

The bot can't buy a domain itself: registrars require manual payment through your account, plus accepting the terms. Five minutes of your time once โ€“ after that the bot connects and configures everything itself.

Section 10Your first site by voice

The most fun part. You have a bot that listens to commands. You have a server with Claude. You have a domain. Next โ€“ we build the first working site. The cycle: brief โ†’ draft โ†’ iterations โ†’ publish.

Step 1. The brief through a dialogue

The main beginner mistake is to immediately ask "build a site for my course." You get a generic, faceless page. Before the brief, it helps to run the site through the exercise of narrowing your expert niche down to one sentence โ€“ then the headline and offer on the landing page appear on their own. The more detailed the brief โ€“ the higher the quality.

I do it more simply: I ask the bot to ask me questions. In the chat with the bot, write by voice or text:

I want to build a sales landing page.

First, ask me 12 questions to put together
a complete brief:
โ€“ What I promise the person (the main measurable result).
โ€“ The three strongest client pains.
โ€“ Five common objections.
โ€“ Case studies with numbers.
โ€“ Testimonials (names, niches, results).
โ€“ The site's tone (friendly, expert, provocative).
โ€“ What I like about competitors and what I don't.
โ€“ How I'm different.
โ€“ What's included in the product.
โ€“ Guarantees.
โ€“ Bonuses.
โ€“ The CTA button text and where it leads.

Ask one at a time, wait for my answer. After all
the answers, assemble the brief and ask me to approve it.
Only then start building.

The bot asks the questions one by one. You answer by voice. At the end it assembles the final brief โ€“ you say "approved" โ€“ it starts building the site.

Step 2. Getting the first version

Within 2โ€“3 minutes an index.html lands in the chat as a file. You download it to your computer, double-click it โ€“ the browser shows a live page. All the colors, fonts, buttons. You can scroll, click, switch to mobile view (in Chrome โ€“ F12 โ†’ the phone icon).

This is a draft. Next we refine it through iterations.

Step 3. The edit cycle

The open HTML in your browser = the live version of the site. Right from there you give edits to the bot โ€“ by voice or text. Examples of commands that actually work:

For each message the bot sends a new index.html within 1โ€“2 minutes. You overwrite the old file on your computer, refresh the page in the browser โ€“ you see the result. The cycle repeats until "I like it."

Ten or fifteen such iterations โ€“ and the site on screen is exactly what you wanted. Including the little things that usually get lost with contractors: the exact phrase in the hero, the right button color, the specific testimonial in the cases.

Step 4. Publishing to the server

When you like the site โ€“ one message to the bot:

I like the site. Publish it to the server.

Domain: fotomom.com โ€“ I already bought it.

Do this:
1. Connect the domain to my server (set up the DNS
   in my registrar's dashboard โ€“ tell me which
   fields to fill in there).
2. Upload the site to the server at
   /var/www/fotomom.com/index.html
3. Configure nginx so the domain opens this file.
4. Connect free SSL via Let's Encrypt โ€“
   so there's a green padlock.
5. Turn on http โ†’ https redirect and compression.

When it's all done โ€“ send me the link and a screenshot.
I'll open it and check.

Within 10โ€“15 minutes the bot writes: "done, https://fotomom.com opens, here's a screenshot." You open it in the browser โ€“ the site is on the internet.

Further edits to the already-published site

The site is live, but you'll want to change something. You dictate to the bot: "change the hero headline to X and update it on the server right away." Within a minute the edit is already on the site โ€“ you refresh the page in the browser, you see it. The cycle turns into a "think in the chat โ€“ see it on the site within a minute" mode.

Section 11Six advanced tricks

The basic cycle already gets you 80% of the result. The remaining 20% โ€“ the tricks that turn an "ordinary landing page" into a tool with double the conversion. All of them connect with a single message to the bot.

Trick 1 โ€“ five references instead of an abstract "make it nice"

Find 5 sites you like visually (Awwwards, Dribbble, landing pages of big brands). The same "give a reference โ€“ get HTML on-brand" approach works great in a sales webinar built with Claude too โ€“ one line about the palette and tone assembles a 30โ€“60 slide deck. Send their links or screenshots to the bot with the task of analyzing each one โ€“ colors, fonts, spacing, rhythm โ€“ and assembling a single "design passport" for your site. From then on Claude uses that passport in all the edits. The design quality jumps several times over. The site stops looking like a "generic template."

Trick 2 โ€“ automatic checking on three screens

Ask the bot: "take screenshots of my site in three sizes โ€“ desktop, tablet, phone. Check whether any mobile text has overflowed the edge, whether the layout has shifted, whether the buttons are clickable. Mark the problem spots with a red outline." Within a minute you get three screenshots with markup โ€“ you immediately see what to fix.

Trick 3 โ€“ analytics in one prompt

Sign up for Google Analytics and copy your tracking ID. Which goals and metrics to track on the landing page so the funnel doesn't run blind โ€“ CAC, CR, LTV, ROMI โ€“ is covered in the expert sales funnel guide. To the bot: "connect Google Analytics with ID G-XXXXXXX, set up two goals โ€“ click on the lead button and a successful form submission. Publish the changes to the server." Within a minute the tracker is connected, and within a day you see visitor and lead stats in your analytics.

Trick 4 โ€“ dark mode with one command

"Add a dark theme to the site. A sun-moon toggle in the top right corner. If the person picks dark โ€“ remember it, and open in dark on their next visit. If their device is set to dark system-wide โ€“ default to dark. Publish to the server." In 30 seconds the site gets a second mode.

Trick 5 โ€“ an A/B test of the two main screens

"Take my current hero as version A. Make a version B with a different headline and button. Half the visitors see A, half see B, at random. Log every view to analytics. After 7 days remind me to look at the results." A week later the bot itself suggests: "version B brought in 30% more leads โ€“ switch?" You decide โ€“ it switches.

Trick 6 โ€“ automatic backups before every edit

"Before every publish to the server, first save a copy of the current version. Keep the last 10 copies. If I ever say 'roll back to yesterday's version' โ€“ you take the right copy and restore it." You ask once โ€“ after that Claude always has your back. Something broke โ€“ "bring back the last working one" โ€“ within 30 seconds the site is fine again.

Section 12Common mistakes

The main rule for any failures: you don't touch the terminal by hand. No systemctl, no journalctl, no editing files by hand. The bot fixes everything โ€“ you just describe what isn't working. The most common situations are below.

The bot doesn't respond

Open the Claude desktop app (or the server's web console) and write: "The Telegram bot isn't responding. Get into the server, check the claude-bot service, look at the last 100 lines of logs, check the Claude token and the Telegram token. If you found the cause โ€“ fix it, restart the service, send me a test in the chat." Within 2 minutes the bot works again.

Voice messages are recognized poorly

To the bot itself in Telegram: "your recognition is glitching. Force the language to English, switch to a more accurate Whisper model, and after transcription run the text through yourself with an instruction to fix recognition errors by meaning. Restart and confirm." The percentage of garbled recognition drops 5โ€“10 times.

The site doesn't open on the domain

"Get in and check whether the domain is connected to the server, whether the SSL is valid, whether nginx is configured correctly. If something's wrong โ€“ fix it, check from your side that the site opens, and send me confirmation." Within 2 minutes the site works.

Building too long a site

30 screens before the button โ€“ the person won't scroll that far. The sweet spot is 8โ€“12 meaningful sections. Better short and concentrated than long and watered down. If the bot built an overloaded site โ€“ ask: "cut the site down to 10 key sections, keep the strongest."

Not testing on mobile

70% of traffic comes from phones. Check every major edit through Trick 2 โ€“ ask the bot to take screenshots for three sizes. You'll save hours of rework.

Chasing perfection and never publishing

Better to ship a "good" site today and improve it as you go than to polish the "perfect" one in a drawer for three months. Faster test โ€“ faster feedback โ€“ faster results. Publish now, redo it in a week.

FAQFrequently asked questions

Can I build multi-page sites, not just landing pages?

Yes. You describe the structure in a voice message โ€“ Claude builds all the pages, the menu, the navigation. It works well up to 10โ€“15 pages.

How does the site get published on a domain?

Claude puts the files on your VPS itself, configures nginx, and connects the domain. You get a link in Telegram within 1โ€“2 minutes.

What about SEO for these sites?

It's static HTML with clean markup โ€“ Google indexes it better than Wix-style or other drag-and-drop builders. Claude sets the meta tags itself on request.

What if I don't know anything about servers?

The article walks you through the setup from scratch. From renting a VPS to your first URL takes 1โ€“2 hours. After that everything is by voice, and you never have to touch the server by hand again.

โœจ Free

Let's build your client-acquisition system with AI and a blog

Book a free consultation. Together with my team we'll map out a step-by-step plan for your niche โ€“ where to start so you get up to 5-7 leads a day.

Book a free consultation
It's free and puts you under no obligation