27 AUG 2026ROUNDUPO'ZBEKCHA

Seven sites in six weeks

Between 15 July and 27 August 2026 I shipped seven new websites, rebuilt an eighth, and spent most of the last week arguing with myself about a domain name. This is the whole log: every project, what it does, what broke, and what the traffic numbers actually say once you stop rounding them up.

Context, because it changes how you read the pace: I weld metal grilles in Tashkent for a living. All of this was built in the hours around that. Nothing here had a budget, a designer, or a second pair of eyes.

21 July — CTN Language Centre

An English school in Mirzo Ulug'bek district needed a site. I built one file: index.html, trilingual UZ/RU/EN with the language kept in localStorage, a light/dark toggle, scroll-reveal animations, and a lead form that copies the enquiry and opens Telegram. Courses, teachers, FAQ, a live Maps embed, and a mock-test teaser.

The palette started as cyan and ended as a clean DeepSeek-style blue, #4D6BFE, on a light, airy hero — the direction came from looking hard at DeepSeek, x.ai and Anthropic and deciding that Uzbek education sites overuse gradients.

CTN Language Centre homepage
ctnlc.uz — one HTML file, three languages, dark mode, live map.

Two things I'd do the same way again. First, the favicon set and the 1200×630 OG image were generated by code (a small Python script with cairosvg), not drawn by hand or by an image model — which means regenerating them after a colour change is one command. Second, the repo already contained a listening test and about 40 MB of MP3s, so the deploy had to go through the GitHub contents API rather than a force-push. I nearly wiped the audio. I didn't, but only because I checked first.

Search Console property verified the same day, sitemap submitted, and JSON-LD for EducationalOrganization + LocalBusiness — with no invented rating, because there isn't one yet. It lives at ctnlc.uz.

23 July — ZED AVLOD School

This one is family. A school in To'raqo'rg'on, Namangan region, running since 2020. Trilingual again, but the interesting part is the results table: thirteen real CEFR certificate scores, top result C1, several B2 — each one checkable against sertifikat.uzbmb.uz.

ZED AVLOD School homepage
zedavlod.uz — real CEFR results, no invented statistics.

What I left out matters more than what I put in: no certificate ID numbers, no photos of the students, and one official-looking portrait I found in the photo dump stayed out entirely because nobody had confirmed who it was. Captioning an unidentified person as "founder" would have been a lie with a face on it.

Full SEO stack: FAQ section with FAQPage schema, EducationalOrganization + WebSite JSON-LD with real coordinates, hreflang, its own GoatCounter site, Search Console verified, sitemap submitted. Live at zedavlod.uz.

25 July — Chiziq

A web studio, aimed squarely at being the cheaper and better-looking alternative to the incumbent in this market. It started life as then.uz and got renamed to chzq.uz — "Chiziq", Uzbek for "line" — because a brand people can say out loud in their own language beats a clever English pun. (Remember this paragraph. It happens again in six weeks.)

Chiziq web studio homepage
chzq.uz — dark studio palette, and a portfolio you can actually open.

The one real weapon on that site is the portfolio. Every studio in the country shows client testimonials; anyone can type a testimonial. So instead each project opens in a modal containing a live iframe of the actual site — flarestamina.com, zedavlod.uz, ctnlc.uz, the wedding-invite builder, the full mock platform, and my own portfolio. They're all on GitHub Pages, so no X-Frame-Options blocks the embed. The pitch is one line: not reviews — sites you can open right now.

Pricing is published, which is rarer here than it should be: landing 1.5 M, business site 3 M, catalogue/shop 6 M, Telegram bot 1.2 M, mini app 6 M so'm. Free prototype in 24 hours, pay after. Hosting 0 so'm, because static sites on GitHub Pages cost nothing to run and pretending otherwise is just markup.

26 July — IELTS Hub, five times over

No screenshot deserves its own figure here, because the visible result is a page that looks calmer. Five full redesign iterations of the Flarestamina hub, plus an audit that walked all 110 pages of the site and wrote down every broken thing. That audit is what set up the whole of August.

1 August — Payvandchi

My own workshop, finally with a site. Window grilles, balcony grilles, railings, canopies — and, importantly, no gates. We don't make them, so the word "darvoza" appears nowhere on the site, and I skipped every photo that showed a door grille rather than adding a service we can't deliver.

Payvandchi welding workshop homepage
payvandchi.maqsudjon.com — real work, real photos, no stock imagery.

Performance was the actual engineering here. The hero image landed at 521 KB, which on a Tashkent mobile connection is a visible wait. Re-encoded and resized to 173 KB — a third of the weight, no visible difference. An English version followed on 5 August, and a fresh batch of workshop photos on 23 August. Adding a photo is two steps: a line in categories.csv, then build-gallery.mjs.

4 August — Reshotkachi

The same workshop and the same photographs, built a second time as a completely different site. Not laziness — a test. If the product is identical, how much does design alone change how it reads?

Reshotkachi grille workshop homepage
reshotkachi.maqsudjon.com — 123 photos, arranged as a 3D wall.

Answer: a lot. This one arranges 123 photos into a three-dimensional gallery wall in UZ/RU/EN, and it feels like a different business to the one above. Same welder, same grilles.

7 August — KVADRAT

The least glamorous thing I built and possibly the most used. A square-metre calculator for grille jobs. You type three numbers — width, height, and how far the grille projects from the wall — and it computes the front face plus all four side faces.

KVADRAT square metre calculator
kvdrt.maqsudjon.com — three numbers in, a price-able area out.

The whole design problem was the input order. 120 130 30 has to mean width 120, height 130, projection 30, every time, for someone holding a tape measure with one hand. Getting that unambiguous took longer than the arithmetic.

22 August — Flarestamina gets a paper design

Flarestamina is my IELTS practice site: 113 test pages, each living in its own repository. It had grown into three products wearing one name — the hub was black and orange, the news section had its own palette, the account page looked like a third site.

Over one weekend the whole thing moved to a black-and-white "paper" design, page by page: the home page (rewritten as static HTML instead of being assembled by JavaScript), the tool pages, the news section, the account and content pages, the 404. Brand assets were redrawn, and the favicon and OG image URLs were versioned so browsers would actually pick up the new art instead of serving the old one from cache for a month.

The unglamorous wins in that pass: 46 pages stopped calling Google for webfonts once they were self-hosted — and then I had to stop the build scripts helpfully re-adding the Google Fonts link on every rebuild. A rebuild had silently dropped structured data from some pages, so I restored it and taught the audit script to catch that specific regression. The privacy policy was brought back in line with what the site actually does now, and analytics gained a per-device opt-out.

The hub stopped being a wall of links

The practice hub is where everything starts, and it used to be a list. Now it asks one question — choose a skill — and gives you five cards: Listening (73 papers), Reading (25), Writing, Speaking, and the full mock. Above them, one card marked start here pointing at Cambridge 21: the whole book, four tests, all skills, free. Someone who has never used the site now has an obvious first click.

Flarestamina practice hub
The practice hub after the rebuild: one question, five cards, and an obvious place to start.

One catch the audit found: the hub builds its list in JavaScript, so a search-engine crawler arriving at it saw an empty page and none of the catalogue behind it. The fix was /tests/ — a plain, static, crawlable index of every practice test on the site, which exists mostly so Google can read what a human can already see.

News, and articles by people who aren't me

The news section covers the thing Uzbek IELTS candidates actually search for and rarely find in one place: exam changes, fees, and scholarship deadlines. It now holds 26 posts — 12 on the exam, 9 deadlines, 2 on fees, 2 guides — with a search box, category chips that carry their own counts, and three live cards at the top: the next deadline with a countdown, a score conversion, and the Telegram channel.

Flarestamina news section
The news section: 26 posts, counted category chips, and the next deadline counting down at the top.

Five of the posts are in Uzbek, and they open in Uzbek rather than making the reader find a toggle — the fee post in particular quotes figures read straight off the official booking page rather than repeated from memory. Every post got its own cover image, and the section publishes its own feed.

There are also six longer articles written through /writearticle/, the submission flow for teachers. Those are the first pages on the site with someone else's name on them, which is the point: a site that is only ever one person's voice has a ceiling.

Five small tools

Alongside the tests there's now a Tools menu, and everything in it is a single-purpose page that answers one question fast:

Flarestamina study plan generator
The study plan generator — four questions, and a verdict that will tell you to postpone the exam.

They're generated rather than hand-written: each tool is a JSON-LD file plus a logic file, assembled by a build script, so adding the sixth one doesn't mean copying a page and forgetting to update the structured data.

23–24 August — tearing down the login walls

Traffic had been falling and I assumed it was an SEO problem. It wasn't. It was three login walls.

The hub that every one of those 113 tests hangs off called FSAuth.require(). So every single person arriving from Google was bounced straight to an account page before seeing anything. The Writing Lab had two gates — a login and a hardcoded access code. The speaking section had a third. All three are gone; login is now optional and only buys you saved results.

Flarestamina IELTS practice homepage
flarestamina.com after the August rebuild — black and white, no gate.

Then the actual SEO, done across 113 separate repositories via the GitHub API:

The audit also caught things that were quietly costing money and accuracy: a duplicated GoatCounter snippet that was double-counting every pageview, 65 pages still carrying a headline from a previous redesign, 522 MB of audio being served without any caching strategy, and nineteen reading pages that shared identical body text — which to a search engine reads as one page repeated nineteen times. Each got real, distinct content.

I also built flarestamina.com/stats/: all seven sites' visitor counts in a single table, no login, no token. Checking seven dashboards was the reason I checked none of them.

24–27 August — Tadam

The newest one, and it gets its own post because it's the first thing I've built that is genuinely a product rather than a website: guests at a wedding scan a QR code on the table, upload the photos already on their phones, and the couple downloads all of them as a ZIP.

Tadam wedding photo album homepage
tadam.uz — the whole flow explained above the fold.

Full write-up here: Tadam: a wedding photo album with no app and no database.

The rule underneath all of it

One constraint ran through every project above: nothing invented. No fabricated review counts, no "500+ happy clients", no made-up ratings in the structured data, no student names attached to faces I couldn't verify, no "first and only in Uzbekistan" — which I was tempted by and which I left out, because I can't prove it and a claim you can't prove is just a nicer-sounding lie.

It costs something. A results table with thirteen honest CEFR scores looks smaller than one with a fake "98% success rate". But the thirteen are checkable on a government certificate database, and the 98% would have been checkable too — by anyone who wanted to embarrass me.

What the numbers say

Measured 23 August, and I'm quoting them exactly rather than rounding them into something impressive:

The honest reading: the SEO work is a bet that hasn't paid out yet, and the sites that work are the ones somebody had a reason to send to a friend. That's worth knowing before I spend another six weeks on meta tags.

Next

Tadam needs real weddings on it, not test albums. The IELTS Hub redesign is built and waiting on a decision. Chiziq needs its first paying client. And I'd like the next six weeks to contain fewer new sites and more people actually using the existing ones.

← ALL ENTRIES · RSS · © 2026 Maqsudjon Polatov