AGENCY
ZGRZ Agency

Internal operations system for a localization agency

Crowdin events automatically generate tasks, and the team manages them through a single board. Coordination no longer depends on chats and spreadsheets, and day-to-day operations are now controllable end to end. 

 

Internal Use
Internal System
B2B
Directus CMS
Back-Office Development
Workflow Automation
API Integrations
Approval Workflows

About the project

An internal web system for a translation agency running multiple localization projects in parallel across many clients and languages. Core scenarios: pull changes automatically from Crowdin, convert them into tasks with the right priority and ownership, and manage statuses and deadlines from a single board.

 

About Customer

Georg runs a translation agency in the Netherlands that has grown nearly 4х over the past two years. Their clients are AI products and crypto startups, where interface and content changes happen frequently and deadlines are tied to product releases. At any given moment, the agency has dozens of tasks in flight across different languages and clients, with part of the execution delivered by external contractors. Georg asked us to remove the operational chaos that came with scale: make the process transparent for PMs, stop losing tasks between tools, and protect margin that was being lost to under-counted package overages.

 

A single workspace

 

Tasks, client context, and finance data were scattered across Trello, Google files, payment tools, the CRM, and additional utilities, so statuses kept slipping and ownership kept blurring.

 

Crowdin as the source of events

 

Changes to strings and files often had to be relayed to translators and editors manually, which created delays and a real risk of work falling through the cracks.

 

Demand for operational clarity

 

The team needed a transparent picture: what's urgent, what's blocked, who owns it, and why a task isn't moving.

 

Package billing as a rule-driven process

 

Package limits and over usage were being calculated manually, which later sparked disputes with clients because the extra charges weren't easy to prove.

 

Quality while scaling

 

A rising number of clients, languages, and contractors could not be allowed to translate into exponential growth in chaos and PM overhead.

 

Proposed Solution

We built the system as the agency's operations hub — a single place that brings together events, tasks, execution, package usage, overusage, and invoice-data preparation, all on top of Directus. Everything critical flows through one process where every step has an owner, a status, and a trace in the system.

 

Tasks Board as the single production queue

 

We implemented a kanban board with statuses, priorities, deadlines, assignees, and change history. We also added filters by client, language, project, and assignee, alongside "My Tasks" and "Critical Deadlines" cuts, so PMs could see risk at a glance.

 

Crowdin webhooks and automatic task creation

 

The Crowdin integration converts every relevant event into a task. That required mapping to client, project, and language; priority rules; anti-duplicate logic; and automatic notifications. The team receives a ready-to-work task with context and ownership already attached.

 

CRM client surface as a fast context point

 

We built a Clients screen exposing the core account attributes: type, owner, active projects, in-flight task count, and risk statuses — so anyone could understand a client's current state in seconds.

 

Usage-based billing

 

We implemented package models and limits with usage tracking by client and period. Overages  are calculated as a separate, explainable layer, so every invoice shows a clear chain: package → usage → overusage → amount.

 

Role model and access control

 

We configured roles and permissions (PM / translator / editor / vendor / finance) with constrained access to client data and financials. This systematizes work with contractors, since the system shows each user only what they need to do their part of the job.

 

With our business analyst, we mapped the operation into core entities — client, project, language, task, assignee, package, usage, overusage — and in parallel defined role boundaries: what a contractor sees, what a PM can change, what is available to finance.

 

Directus CMS
PostgreSQL
Node.js
Rest API

+1 Resource

Results

The system moved the agency from manual coordination to a controllable process where the state of work is visible and invoices are defensible.

 

85% less time

spent on manually coordinating Crowdin changes

60% fewer

missed deadlines

12% higher margin

on accounts with frequent package overages

Fewer invoice disputes

since overusage can now be evidenced

More predictable workload

thanks to clear visibility into where tasks are piling up

Get in Touch

Or send us a message and we'll get back to you within 15 minutes during business hours

Enter your name

Enter your email

Enter your message

Andrii Trubai

Andrii Trubai

CEO | Head of WebDev department

More Success Stories