At Inithouse we build and ship products fast. One of them, Ziva Fotka , turns a still photo into a short animated video. No signup, no stored data, photos deleted after processing.
The product started on a single Czech domain. Then we wanted to reach Slovak, Polish, German, and English-speaking users. Five TLDs, five languages, one React codebase. Here is how we wired the routing.
The problem
Subpaths like /en/ or /de/ are the textbook approach, but we wanted separate country domains: zivafotka.cz , zivafotka.sk , zywafotka.pl , lebendigfoto.de , and alivephoto.online . Each domain should feel native to its audience. A Polish user landing on zywafotka.pl should never see a Czech string.
Separate codebases per domain would mean five deploys, five bug-fix cycles, five feature rollouts.…