sinov.ru

Case studies / Multilingual portal · 7 languages

A Russian exam, explained in seven languages.

People who come to Russia from Central Asia or Azerbaijan to work — and then to stay — have to pass a state exam: Russian language, history and the basics of law. It’s required for a work patent, temporary residence, a residence permit and citizenship. The client wanted a free trainer for it, surrounded by a portal of practical answers. We built it in seven languages: the exam tasks stay in Russian, as on the real day; the interface and explanations speak the learner’s language.

sinov.ru ↗

sinov.ru
The sinov.ru home page: the headline ‘Exam for migrants in 2026’, the portal sections in the left column and the bar with the seven languages

The problem

An exam in the language you’re still learning.

Getting a work patent, temporary residence, a residence permit or citizenship in Russia means passing a state exam on three subjects: Russian language, history and the basics of law. And the exam is sat in Russian — exactly the language the person preparing for it is still learning.

A trainer that’s only in Russian asks you to understand the explanations in a language you haven’t mastered yet; a trainer that’s fully translated doesn’t get you used to what you’ll face on the day. And around the exam come the practical questions — where to take it, migration registration, paying for the patent, finding work, school for the children, the driving licence — which deserve answers in that same language.

Our answer

Tasks in Russian, everything else in the learner’s language.

For the client we built two things that work together. A free trainer for the three exam subjects, where the task stays in Russian as on the real exam, while the interface and explanations are in the user’s language. And, around it, a practical reference portal, with calculators wherever the answer is a number rather than a description. All of it in seven languages, including Arabic, which reads right to left.

✓Task in Russian as on the exam, explanation in the user’s language
✓Seven languages, including Arabic laid out right to left
✓The trainer works even with JavaScript switched off
✓Every quotation from the law machine-checked against the law’s own text

The trainer

It works even when JavaScript doesn’t.

Each question stands on HTML and CSS alone: the answers are ordinary radio buttons and the explanation opens with nothing but CSS. JavaScript adds the timer and the progress bar, but it isn’t essential — if it fails to load, the trainer keeps working. That’s an engineering choice, not a stylistic one: the part that matters doesn’t depend on the part that can break.

01Three subjects. Russian language, history and the basics of law: the same as the exam.
02Task in Russian, explanation translated. The question stays in Russian, as it will on exam day; the interface and the explanation are in the chosen language.
03No JavaScript needed. Radio buttons and an explanation opened by CSS; the script only adds the timer and progress.
04Law checked by machine. Every quotation from the law — traffic code, migration registration, patent rules — is searched for in the downloaded text of the law as part of the automated checks.

Interface and explanations in:

RussianUzbek (Latin)TajikKyrgyzAzerbaijaniEnglishArabic · right to left
sinov.ru
The patent test on sinov.ru on a phone: interface in Uzbek, the exam timer (22 tasks, 80 minutes) and a listening task with the question and answers in Russian

Speaking · speech recognition

You speak, and you see what the machine understood.

You can’t practise speaking with radio buttons. Here the user records the answer right in the browser, and the recording is transcribed by a speech-recognition service running on the project’s own server — not in a third-party cloud. Then the page shows the transcript: “what the machine heard”. For the learner it’s concrete feedback; for the client it means the recordings don’t pass through someone else’s service.

sinov.ru
The oral part of the temporary-residence exam in the sinov.ru trainer on a phone: the interlocutor’s lines with audio, the button to record an answer and a model answer

How a speaking exercise works:

●The answer is recorded in the browser: no app to install
◎Transcription happens on the project’s own server, not in an outside cloud
≡The page shows “what the machine heard”: the transcript of the answer
85%A read-aloud task counts when at least 85% of the words are recognised

The portal around the exam

Practical answers, with the sums already done.

Around the trainer sits a reference portal for everyday life: where to take the exam, migration registration, paying for the patent, work, enrolling children in school, exchanging a driving licence. Where the answer is a number, the page doesn’t describe it — it works it out.

01Patent cost. 69 regions, with the amount converted into the user’s home currency at the central-bank rate.
02Deadlines. A deadline calculator, so nobody has to count the days by hand.
03Where to take the exam. 100 cities and 193 exam centres in the portal’s data.
04Jobs. Listings built from official open job data, plus an employer area: moderation, sign-in by one-time email link, optional two-factor (TOTP) and a filter that blocks discriminatory requirements.
05Children’s section. With a written part and a spelling check.
sinov.ru
The patent-cost calculator on sinov.ru: Krasnodar Krai selected — 27,283 ₽ a month and the same amount in six currencies at the Central Bank rate

Pick the region and the amount appears already converted at the central-bank rate, in the currency the user knows.

How it’s built

Light, test-checked, ready for Arabic.

No framework: the site is static, generated from Markdown texts by a custom-built Node generator. Pages arrive ready and light — the home page weighs about 27 KB compressed, with the CSS already inside. The dynamic parts live only where they’re needed: the employer area runs on Node with PostgreSQL, and speech recognition is a service of its own.

The rules that matter aren’t left to anyone’s memory: the right-to-left layout and the colour contrast are checked by automated tests, and the site goes live on its own, in Docker, only once the tests have passed. The work ran from 5 to 25 September 2026.

Languages7 languages with hreflang across all of them plus x-default; Arabic laid out with logical CSS properties, enforced by a test
AccessibilityWCAG AA colour contrast checked by a test, 48 px touch targets, no text below 13 px
SpeedHome page about 27 KB compressed with CSS inlined; AVIF/WebP images in three widths
SecurityStrict Content-Security-Policy; employer area with one-time links and optional TOTP
SearchFAQPage and BreadcrumbList structured data
ReleaseDocker and automated deploy only after the tests pass

The result

A portal that speaks its users’ language.

7languages

on the portal, including Arabic with a right-to-left layout

193centres

where the exam is taken, across 100 cities in the “where to take the exam” data

≈27KB

for the compressed home page, CSS included

BUILT BY STUDIO REMARKA FOR THE CLIENT — VERIFIABLE AT sinov.ru

Interested in this project?

Need a custom website or app? Let’s talk.

We design and build custom websites and web apps for companies and professionals. Tell us your idea: we’ll reply with an analysis or a fixed quote.

  • Fixed quote within 24 hours
  • Clear price, no surprises
  • Your data stays in the EU

Quick request

Prefer to tell us everything at your own pace? Fill in the brief →