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.
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
- What you get โ a picture of the finished result
- What the system is built from
- Signing up for Claude
- Paying for Claude
- Renting a VPS
- Installing Claude Code on the server
- Creating a Telegram bot
- Connecting the bot to Claude
- Buying a domain
- Your first site by voice
- Six advanced tricks
- 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.
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
- Claude Code โ the brain. It thinks, writes HTML, handles servers, manages files.
- VPS โ a 24/7 computer in a data center. Claude and your bot live on it.
- Telegram bot โ the interface. You give it commands by voice or text.
- Domain โ the site's address on the internet. Without it the page only opens on your own computer.
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.
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.
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.)
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.
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.
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.
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.
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.
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.
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.
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:
| Parameter | Value |
|---|---|
| Location | US, Germany, the Netherlands, or Finland |
| OS | Ubuntu 22.04 LTS or 24.04 LTS |
| CPU | 2 cores |
| RAM | 4 GB |
| Disk | 40 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.
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.
Install Claude Code
npm install -g @anthropic-ai/claude-code
Another minute. This is the Claude program itself.
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.
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.
Open @BotFather in Telegram
The direct link is t.me/BotFather. It has a blue "verified" checkmark โ that's the official bot. Hit "Start."
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.
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.
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.
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.
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.
Pick the extension and pay
.comโ around $10โ13/year.co,.ioโ usually $25โ40/year.online,.site,.shopโ usually $2โ8 the first year
You pay โ with your usual card. Within 5โ30 minutes the domain shows up in your account. Done.
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:
- "Change the hero headline to 'Your goal in 30 days'."
- "In the case-study block add a fourth one: Andrew, designer, +$5K in 2 months."
- "Make the button red, it's washed out right now."
- "Drop the FAQ โ rewrite it as 5 catchy questions instead of 10 dull ones."
- "Add my photo to the hero," and you attach a photo in the chat.
- "Make the testimonials block dark background with white text."
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.
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.