All projects

2026 · Android, Web CMS

Oyxeka SEK Mobile

Members’ app for Cyprus’s SEK trade-union confederation: news, benefits, member verification and invitations, in several languages.

Built for SEK · delivered via InfoTEX Software Solutions

  • Flutter
  • Payload CMS
  • Next.js
  • PostgreSQL
  • Claude API
  • Docker

Problem

The union publishes in Greek, while its members read in several languages. Editors needed to write once and translate with one click — and readers needed to know when they are reading a machine translation.

Architecture

Editorsaves one languageTranslation jobClaude APISave hookwho wrote this?provenance, per languageelhand-writtenenmachine ← elrumachine ← elMobile applabels, links originaltext changednames its sourcestamps
Every language version knows who wrote it last. Because all languages live in one field and a save stamps only its own language, saving the English version can never erase the record for Russian.
  • Payload CMS on Next.js as the editorial back office and the app’s API; Flutter app with multi-level menus driven by the CMS.
  • Machine translation through the Claude API, with per-language provenance: a save hook records whether each language version was last written by the translation job (and from which language) or by a person, all in one field so a save in one language never loses another’s record.
  • Member verification against the union’s membership directory, invitations and member tiers managed from the CMS.
  • Docker on a Hetzner server behind nginx; a release wizard that runs migrations, certificates and deploys in the right order.

Result

  • In production on the union’s own domain and live on Google Play; the iOS release is next.
  • The app labels every machine translation and links to the original text.
  • Eleven feature tickets implemented in parallel by Claude Code agents in separate git worktrees — each test-first and code-reviewed — and merged in one day.