Agritech platform & investor funnel

Trilingual web presence for an ADGM agritech company

Role
Built the platform end-to-end
Since
2025
Stack
  • React
  • TypeScript
  • Supabase
  • PL/pgSQL
  • Edge Functions
  • i18n · RTL
View it live ↗
Agritech platform & investor funnel — the live product

An agritech company in Abu Dhabi needed to reach three audiences in three languages.

Investors in English. Partners in Russian. The local market in Arabic.

Same product, three completely different readers.

01 How I thought about it

Translation is the easy half of a multilingual site

The hard half is that a search engine, a WhatsApp preview and a Telegram unfurl each need to see the right language before any JavaScript runs. A single-page app returns one HTML shell to all of them, so every share looked English no matter which link you sent.

So I moved localisation into the build

A post-build script reads the compiled HTML and emits real localised entry points for /ru and /ar — correct lang, correct dir, correct canonical, correct OG image per locale. Bots get static localised HTML. Users still get the SPA.

Arabic is not English with the text moved right

Right-to-left changes layout direction, icon direction, punctuation and number handling. Treating it as a CSS flip produces something an Arabic reader can spot in a second, and that is precisely the audience you cannot afford to lose.

02 Architecture

Vite build
create-locale-pages.mjs
/index.html (en)/ru/index.html/ar/index.html — dir=rtl
CDN
Search engines & unfurls get localised HTML
One build, three localised entry points. The SEO problem is solved at build time rather than paid for on every request.

03 Decisions, with the reason attached

  • Locale pages generated after build, not rendered at runtime

    No server needed, nothing to keep warm, and search engines get static HTML. The cheapest correct answer.

  • Per-locale OG images with a fallback

    A share into a Russian or Arabic channel shows a card in that language. Missing image falls back rather than breaking the unfurl.

  • Investor capture behind a serverless gate

    Qualifying questions run server-side so the logic is not sitting in the browser bundle for anyone to read.

  • Logic in PL/pgSQL where it belongs to the data

    Constraints and derivations the database can enforce should not live in application code that can be bypassed.

04 Where it landed

Trilingual EN/RU/AR with proper right-to-left, live in production.

Localised metadata and share cards for each language, so a link shared into any of the three markets arrives in that market's language.

What I'd change

The company has since redesigned the front end. The i18n build pipeline and the data layer are the parts of this that held up, and the parts I would build the same way again.

Projects & Advisory

Building something like this — or putting AI agents into production?

I design AI systems, orchestrate the agents that run them and own the backend underneath. Founding-engineer and systems-architect work, and advisory for teams that need it to run unattended and stay within budget. Abu Dhabi (ADGM) / Remote.

Next case insights.fashion → Economic indicator pipeline and the product on top of it