casespsy-krasnogor

rudiscuss your taskmenuclose

Psychologist’s private practice, online and on Koh Samui · 

A website that leads to the first message

People come to a psychologist by referral, not from search, and weeks pass between “you were recommended to me” and a sent message. The whole page is built around that one step.

The quiz for choosing a format on the psychologist’s website, the first of three questions

The business

A family psychologist in private practice, in the field since 2016. He works in Russian, online and in person on Koh Samui in Thailand. The requests are the usual ones for a private practice: anxiety, couple relationships, burnout, self-esteem, crises, and loss.

Clients come by two routes, and both bypass search: on a recommendation from people they know, and from his own Telegram channel. That changes everything. A person who needs a psychologist doesn’t shop for “whoever is cheapest”: they get a link, open it, and spend weeks working up the nerve to message. Over that stretch, the website is all they have: they haven’t met the specialist yet, they are too shy to ask, and they have a lot of questions.

The audience, meanwhile, is mixed. Some live in Russia and work with him online: they need rubles and Moscow time. Others are already on the island and want to come in person: they need baht and an address. The time difference between Koh Samui and Moscow is four hours, and one wrong line in the schedule costs a missed session.

What it delivered

Instead of an empty “hello,” the specialist gets a complete request: what the person came with and when they would like to start. Price and time are visible right away in two currencies and two time zones, both for those in Russia and for those already on the island. There are no numbers for this work yet; the “Why no numbers” section explains why.

What this page has to do

It doesn’t bring people in. It removes the reasons why a person who already has the link never messages. The reasons are few, and they are the same for everyone.

Whether this applies to me

A person isn’t sure their story is a “good enough” reason to see a specialist. Until they have figured that out, they won’t message, and they won’t ask either.

Who this person is

A psychologist is let into the most personal things. Education, methods, experience, and a real face have to be visible before the first message, not “provided on request.”

What I would even write

The most underrated barrier. Putting something that is hard to talk about into a first message is work in itself, and many people stop right there.

What is on the page, all arranged around the same three reasons: what he works with, how a session goes, what the approach is, who he is, credentials, prices, common questions, contact details
MetricHow many
Content blocks11
Quiz questions3
Answers to common questions10
Diplomas and certificates4
Session formats and currencies2 and 2

What I did

A quiz instead of an empty “hello”

Three questions: what you want to work through, whether you have worked with a psychologist before, and when you would like to start. What comes out is not “thanks for your answers” but a ready-to-send message: a greeting, the request, past experience, timing, and a line asking to book the free twenty-minute session. One button copies the text to the clipboard, and the other opens the messenger.

Both sides win. The person doesn’t have to put something that is hard to talk about into words from scratch: they pick from options, and the text comes together on its own. The specialist sees from the first line what the person is coming with and doesn’t spend the first session working out the request. Below the buttons, a separate line says that the answers are not sent anywhere automatically; on a site like this, that is important to say out loud.

The screen after the quiz: the assembled message text and the “Copy answer” and “Open Telegram” buttons
Three answers turn into a ready-to-send message; all the person has to do is paste it into the messenger

Price and time are visible right away, in two currencies

Online is in rubles, in person on the island is in baht, with the length and what is included next to each. The free twenty-minute intro session sits in a separate card at the top: it is the first step, and it shouldn’t get lost among the prices.

Appointment hours are given in two time zones at once: 9:00–20:00 island time and 5:00–16:00 Moscow time. The difference is four hours, and without the second line, a person in Russia could easily book a time that doesn’t exist.

The price block: two service cards, each with the online price in rubles and the in-person price in baht
Both currencies in one card: the person doesn’t work out the exchange rate or send a follow-up question

Credentials open instead of being listed

Four diplomas and certificates: a bachelor’s degree in psychology, two professional retraining programs of 620 and 1,640 hours, and continuing education in cognitive behavioral therapy. Each one opens at full size on a click and can be paged through with arrows, keys, and a swipe. Trust in a psychologist starts with credentials, and they have to be visible.

Ten questions people ask before the first session

Not “how to order a service” but what a person is actually thinking: Is this something to be ashamed of? How do I know I need a psychologist and not a psychiatrist? What if it doesn’t help and I just waste my time? What if my partner is against couples therapy?

Every answer starts with the answer, with no warm-up. That makes it quicker to read, and an answer like that is exactly the kind that is easier to quote, for a search engine and for an assistant alike.

A separate check guards the address for in-person sessions

The page names only the island: no street, no building number, no coordinates. Not in the text, not in the structured data, not in the file for AI systems. This is the psychologist’s safety requirement, and it doesn’t rest on memory: with every edit, an automatic check searches the pages for a street, a latitude, and a longitude and says so if it finds anything. A year from now, when everyone has forgotten the agreement, the rule will keep working.

For the same reason, the site doesn’t record what visitors do: that is the analytics option that captures mouse movements and what is typed into fields. The site is about personal matters, and watching people on it is uncalled for.

The site explains itself to search engines and AI assistants

The structured data is put together as one connected graph of thirteen nodes: who the specialist is, what the services are, what the prices are in two currencies, what the qualifications are, and what the appointment hours are. It passes the official validator without a single error or warning. Separately, there is a summary file for AI systems, and such systems are explicitly allowed access to the site.

The point is simple: a person can ask not only a search engine but also an assistant, “recommend a family psychologist who works online.” For such an answer to draw on the site, the site has to be easy to quote.

The page became two and a half times lighter

The fonts are trimmed down to the characters that are actually on the page: 49 KB instead of 203. Before, because of the single ₽ sign, the browser downloaded an extra hundred kilobytes of Vietnamese and phonetic Latin characters. The diploma scans are served in two versions, a light one for a regular screen and a detailed one for Retina displays, and the photo from the first screen no longer holds up the text on phones, where you have to scroll down to see it anyway.

The heaviest file on the page turned out not to be mine: it is the analytics script, 87 KB. It no longer loads together with the site but waits until the page has appeared on screen or the person clicks something. No statistics are lost along the way: events pile up in a queue and go out once the script is up and running.

The site checks itself with every edit

With every edit, a set of automatic checks runs: whether all the prices, appointment hours, and session formats are in place, whether the text on the page matches what a search engine sees, and whether a price in the text has drifted from the price in the markup. An outdated number or a mismatch will not go unnoticed.

Do people come to you by referral too, and then hesitate for a long time before messaging?

Message me

Where the site was silently losing people

An ordinary check reads the text of the page. These three failures can’t be found that way: the site looks like it works, but the person never gets as far as a message.

A white screen instead of the site

If the code did not reach the visitor (an ad blocker, a corporate proxy, a dropped mobile connection), the page stayed blank. The person left without ever learning that there was a site at all.

The button lied

“Copied ✓” was shown even when copying had failed. The person went off to the messenger with an empty message, at the very step the page was made for.

No way through with a keyboard

For those who move around the page with a keyboard rather than a mouse, the quiz hit a dead end three times: the “Next” button disappeared out from under them, and there was nowhere left to go.

A separate check grew out of this. A real browser goes through the site: it completes the quiz, opens the diplomas, moves through the page with a keyboard, looks at whether the layout falls apart on narrow screens, and reads the error log. If something fails, the check names exactly what broke. When it was written, the site as it was then failed almost every item in it: the check catches real failures instead of putting on a show.

None of these failures can be seen by opening the site and clicking through it with a mouse. They all live where an ordinary check doesn’t go, and that is exactly where the site loses people, the ones later described as “just didn’t message.”

Why this case study has no numbers

Analytics has been in place since day one; it’s just that as of September 10, 2026, there is almost no one to count.

I looked at the period from May 9 to September 10, 2026: four months. It includes a short stretch of advertising, but that has nothing to do with how the page itself works, and I don’t count those visits. The rest of the time, only a handful of people a week open the page: with numbers like that, the share of people who message shifts with a single person, and no conclusions can be drawn from it.

Almost no one came from search during this period either, and that is to be expected. The top spots for searches like “online psychologist” are held by large directories of specialists, with thousands of pages and years behind them; there is no room there for a new domain with one page. A one-page brochure website doesn’t win general searches and isn’t supposed to: its work starts after a person already has the link, from someone they know, from the channel, or from a chat.

What can be seen as of September 10, 2026, though, is that the page does its job: the site opens at psy-krasnogor.pro, the quiz can be completed to the end and produces a ready-to-send message, the prices on the page and in the structured data match, and the address for in-person sessions is nowhere to be found. It makes sense to pull the numbers no earlier than the winter of 2026/27, and that is when they will be added here.

What this gives the business going forward

Won’t it fall apart in a year?

There is almost nothing in it to break. It is one finished page with no database, engine, or plugins asking for updates, and the quiz and the diploma gallery run right in the browser and do not depend on any server.

What does it take for people to start coming from search?

Content and time. One page answers searches about a particular specialist but doesn’t win the general ones: those take separate pages for separate topics, text published regularly, and at least six months of work. That is a separate task, and it is more honest to name it up front than to promise that a brochure website will get itself to the top.

How it works technically

HTML, CSS, and JavaScript with no frameworks, mobile-first, BEM, all values through CSS variables. The build is a short bash script: five style files into one minified bundle, and the scripts likewise; the Inter and Manrope fonts are cut from variable masters by a character list with fontTools. The markup is one schema.org graph of 13 nodes linked through @id: ProfessionalService, Person, Service, five Offer nodes in two currencies, FAQPage, WebSite. The privacy policy is kept out of search results with noindex rather than Disallow: a crawler doesn’t download a page that is forbidden in robots.txt and doesn’t read its meta tag, so the URL could still end up in search results. Checks with every edit: check-content.sh, nineteen sections of checks on the source and the built page, plus four Node validators with no dependencies at all: JSON-LD, FAQ in sync with the markup, a comparison of the offers with the price list on the page, and check-behavior.mjs, which drives a real Chrome through CDP. Hosting is GitHub Pages on a custom domain. Analytics is Yandex Metrica with deferred loading of its script and session recording turned off.

Who did the work

It’s just me behind jw-dev.pro, not a studio or an agency. That means you talk directly to the person doing the work: no manager, no brief relayed through third parties, and no passing the project to another contractor partway through.

My time zone is UTC+7, the same as Bangkok and Hanoi. I build websites, Telegram bots, and automation: a task rarely ends with a page, and it usually has to be connected to what you already have running.

As time goes on, the task sounds like “build a website” less and less often. One person needs a price to be changed in one place, not on twenty pages. Another needs the channel to run without them. A third needs the whole price list to sit inside Telegram, where their customers already go every day. That’s why the list of what I do is open-ended: if your task isn’t on it, that doesn’t necessarily mean it can’t be solved.

I write case studies so that they can be checked: what was there, what was done, and how it was measured. If there is analytics data, I give the numbers and the period they cover; if it is too early to measure, I say so. You won’t find “increased sales” here: that is a promise, not a result.

Need something similar?

Whether it’s a website, a bot, or something that is now done by hand, tell me what’s going on, and I’ll tell you whether it can be solved or not.

This kind of work is the service “Small business website: a full build, ready to run.”

I have your request

I’ll read it myself and reply where you told me to.

Send another one

What you need you can pick several

In your own words: what you have now and what you want to get. If you have a website or a bot, paste the link.

Your request will come to me on Telegram, and I’ll reply myself.

If it’s easier, contact me directly: on Telegram, on WhatsApp, or by email.

Not sure what’s wrong with your website? Check it for free on Telegram: @jw_site_check_bot.

Who owns everything afterward and what happens if I disappear: answers on the home page.