TLDR
Designed a document translation service for an internal client at Sber, now in production: a translator uploads a file, picks the languages and takes the translation.
I built the Y2K concept in 54 minutes on the same flow: React, stickers, a checkerboard, a pixel font, two themes and a phone layout. Nobody ordered it: it is my own version of the same service.
The corporate version
The whole flow fits on one screen: a language bar, an upload zone, progress and “Download”. Documents marked K-1 must not be translated, and the warning sits under the zone before a file is chosen.
How 7 other services translate documents
I took apart seven services where a document is uploaded whole and comes back translated: DeepL, Google, Yandex and platforms for translators. I asked each the same questions and put them in one table, 33 screens.
Six of seven write about data, but in pricing and help pages. A ban right on the upload screen I found nowhere.
“In the concept” is my Y2K version of the service, the corporate one runs in production.
The same task in Y2K
The flow and the states stay the same; the shell changes: stickers instead of grey lines, a checkerboard, a tile timer, a pixel font.
The concept in full
Choosing a file
Language search
Translation ready
Feedback has three layers: a sound, a haptic tap and motion on screen. All three land on the same frame.
The sound is synthesised in the browser, there are no audio files. On an iPhone the tap comes from a system switch under the finger. Apple closed the scripted path in iOS 26.5, so events without a touch keep the sound and the motion.
What came out
- The corporate version is in production with the company’s translators.
- The Y2K concept works in the browser. The whole flow can be clicked through: upload a file, swap languages, wait for the translation and download it.
The shell apart from the logic
The concept stands on the working flow: upload, file checks and language choice are the same as in the corporate version.
Changing the shell leaves the product logic alone, so it can move over screen by screen.