This story started on March 16, when I was driving home along Dmitrovka. Well, "driving." Mostly I was standing still. So I ask Alice: "Tell me," I say, "can you help me make a website?" "I can," she says.
And that was it. We were off. By the time I got home two hours later, I already had some sort of file with code in it (I'd been copying whatever Alice wrote into Notes). I put the whole thing online — nothing worked. Or rather, it wasn't even that it didn't work: I had no idea what was supposed to happen or where I was supposed to look.
I send the code to DeepSeek and ask: "Is this a decent website? For some reason it doesn't work." And it asks me: "What did you want it to do?" So I explain: it's going to be an inventory system for the workshop. Say I enter that I have a hundred model kits assembled, then I mail out two, and I don't want to have to count them all again — I want it to show that there are ninety-eight left.
DeepSeek, if it could have been surprised, would probably have been very surprised indeed. But all it said was that this wasn't how it worked, and that really I ought to start by reading about backends and frontends, decide on a database, and all that sort of thing.
I didn't argue. I went to bed magnificently convinced that neural networks were a pretty stupid invention, because when you actually needed them, they couldn't help you at all.
The next morning I went off to read about PHP and SQL queries. I lasted about forty minutes. And only because I was having breakfast at the same time. But I learned the important thing!
I needed ChatGPT!
(Fortunately, back then there was still a way to pay for it through MTS, at least for a couple of months.)
Hello, I tell it, let's make a website. I already have hosting — my website has actually been sitting there for fifteen years… though "sitting there" is a pretty accurate description of what it's been doing for the last five. Anyway, I say: "I've got hosting, and I wrote some code here" — and show it the code DeepSeek had already torn apart.
"That won't do," it says. "Let's figure out the architecture first. What do you want to build the site on?"
"Well," I say, "I used HTML in 2009. The IT guy inside me has been fast asleep ever since."
"All right," it says. "Open Terminal."
"Open who?"
"You know, the black thing. Type cmd…"
Chat and I spent about a month and a half making the site. The work isn't difficult: you tell it what you want, it gives you a chunk of code, you spend a long time figuring out where to put it, then open the file in the browser, copy the error message, and send it back to Chat.
Basically, it's like I need to fix my car, and I've got this very smart mechanic uncle who's bedridden and therefore perfectly willing to spend hours talking me through it online. He knows everything, but every now and then he switches into some incomprehensible tech dialect and says something like, "Deployment speed is down, but that's actually a nice little improvement for layout shift and rendering performance." I still don't really understand any of this, but little by little I'm beginning to tell SSH from SSL…
No, actually, if I'm being completely, completely honest — I'm not. I've just memorized the names.
Anyway, by sometime in May, Chat and I had built all sorts of things: an inventory system, supplies tracking, even an "Exhibitions" module. At the same time I connected the site to Ozon and learned how to pull sales and commission reports from it… (which helped me come to terms with the idea that Ozon and I were probably not meant for each other).
But then I thought: what if we went beyond just the mechanics I needed for the workshop and for myself? I'd figured out how all this worked! Maybe now I could try fixing the website too.
That didn't go nearly as well. Repairing something old — something held together with blue electrical tape from bits running on three different engines, partly custom-written (not by me, but by a programmer who moved to Canada back in 2016), partly no longer working at all — is not the sort of surgery you can pull off when all you've got behind you is one sofa carved up with a scalpel. Even with ChatGPT.
So my kind Uncle Chat didn't beat around the bush. It simply told me:
"Why are you torturing yourself? Just install Claude Code already."
All right, I thought. I've had Alice, I've had the Chinese DeepSeek, I've had the American Chat — now I'll install the Frenchman.
(For some reason I was convinced that if his name was Claude, he had to be French.)
So I installed him.
Things got going so furiously that two weeks later I was banned. On DeepSeek and Chat's advice, I wrote them a letter, but apparently the people at Claude had seen letters like mine before — and worse — because nobody answered.
I wasn't particularly upset. I registered again and carried on working.
And I have to say, this was something else entirely.
With Chat, I was still the one lying in the pit underneath the car. With Claude, suddenly I had a super-intelligent mechanic who could do practically anything, was willing to live under the car and repair it around the clock, and seemed to genuinely enjoy doing it.
There was just one problem: this mechanic was also a little bit of an eighth-grader. Enthusiastic. And occasionally lazy.
"I need people to be able to choose a town from a list," I tell him. "Or a village. Basically, a list with every settlement in it."
"Give me the list," he says. "I'll add it. Just divide it into regions and districts first."
"Where do I get one?"
"Look for KLADR. Or OKATO."
It takes me a couple of hours to find both. I download them and give them to him.
"Oh. There are discrepancies."
"So?"
"So what do you want? Should I throw out the extras from the first one, or from the second?"
"Are there any other options?"
"…Well, yes… We already have photographs. We could go through all 1,016 settlements and match them against the list."
We spend about ten days doing this and confirm roughly 650 settlements. The work is slow and laborious: I look at a photograph, work out where it was taken, search Yandex for the name of the district, compare it with KLADR…
On about the eleventh day, I finally ask: "Why are we stuck on what seems like such a routine task? Is there any way we can move on to the next things already?"
And he says: "I can connect an open database of all settlements to the site and cross-check the names against that. Actually, I've already done it, and we can automatically confirm 390 of the remaining 415. So only twenty-five will need to be checked manually."
"Oh, brilliant!" I almost yell in the middle of the night. "Then what the hell did we spend those ten days doing?!"
"Well, we enriched the open dataset. I thought it was important to you to verify everything manually."
And so, little by little, things moved forward. I dreamed up the mechanics for the coloring pages in a parking lot in Kalmykia; worked out how to organize user profiles at night in a hotel in Astrakhan; laid out the "Inspired by Nalichniki" photo gallery on a plane to Tomsk; wrestled painfully with different geodata formats while sitting in the shade on a beach in Turkey; rebuilt the home page over and over again in Yaroslavl, Yelabuga, and Kislovodsk…
It seemed as though it would never end. My Yulia kept saying exactly that, by the way.)
Then it was time to bolt on the store. We hooked up all sorts of payment methods. And user accounts. And three delivery services — CDEK, Yandex, and Russian Post. And parcel tracking (except for Russian Post) right there on the site…
And photo uploads, and author rankings, and a dream I'd had since 2010 — a map of every photograph on the site.
The blog is there now too, with every post going back to 2009. And — something I sacrificed an entire month of my life to — everything, absolutely everything on the site is now translated into English and German. There are even automatic translations of comments, like on Twitter (though those are done by Yandex, and the translations are pretty mediocre too)).
The translations were interesting in their own right.
I give Claude a text and say: "Translate this. If anything isn't clear, ask me." He translates it.
But my English isn't very good. I can tell that what I'm looking at is indeed a translation of this particular text, but that's about the limit of my abilities. So I ask him: "Look at the original and the translation. Tell me whether the style has survived and whether anything could be improved."
And this is where the magic starts — the sort of magic that made me look with considerably more respect at the translator's profession (just as all this had already made me look differently at IT people — builders of worlds!).
"Look," he says. "In the original, your character says, 'Что у меня говорить могут?' Right now you've translated it as 'Who is there around me to say anything?' But we can make it more precise: 'Who have I got around me to say anything?'"
"What's the difference?" I ask.
"The second is more colloquial — and later, when the old man mirrors him with 'Who have I got?', the echo survives in English too."
To me, there is no difference at all. So over and over I asked him about the nuances of translation, rhythm, and mood, and he patiently broke it all down for me.
And so we translated it all together — some of it line by line, some of it word by word; some of it badly, and some of it, I hope, well.
Then we made digital coloring pages for all the nalichnik models, so you wouldn't be limited to coloring them with felt-tip pens in the printed instructions — you could color them right on the website too.
Then I asked him about security, and we started "hiding the possible planes of attack." Then we spent another three weeks optimizing the pages until we got the server response time down from 0.6 seconds to 0.16. And you can really feel the difference.
And finally, just this past week, we finished the mechanism for hiding sensitive villages. Now, if someone uploads photographs from a village with fewer than 500 residents, by default those photographs won't appear on the map in their actual location. They'll be shown at the district center instead. Because the very last thing I'd want is for the site to become a guidebook for people who go out to remote villages looking for carved woodwork to steal…
So there you have it. Five months altogether. Terrifying to think about. I'm not sure I would have got myself into this if I'd understood how much time it was going to take.
Though who am I kidding?)
I'd have got myself into it anyway. It's unbelievably interesting!
Oh, and one more thing: on the site, photographs aren't just photographs. It's actually a little more complicated than that: when you upload your finds, you can combine photographs of the same house into an "object," and then link objects to one another. Which means that someday, for every house, it will be possible to see photographs of it yesterday, today, tomorrow…
So far, only about 500 houses across the entire country have been processed this way, and it's hard to believe that one day we might manage to process all those tens of thousands of wooden buildings around the world… But the site already has 24,000 photographs from seven countries, contributed by 469 authors…
So anything is possible.
Just join us.
P.S. By the way, I still don't trust any of my four neural friends to write the texts for me. Apparently it's true: the less you understand about something, the easier it is to trust.
