Lead Backend Developer · LinguFox · May 2024 – present · Enterprise e-commerce client
The problem
An enterprise e-commerce tooling company needed translation management across many customer accounts at once. Raw machine translation on its own doesn’t survive contact with a real catalogue: it renders the same product term three different ways across three pages, it has no memory of decisions anyone made, and when it gets something wrong there is no way to roll back to the version that was right.
So the actual requirement wasn’t “call a translation API.” It was a multi-tenant platform where translation happens to be the payload.
What I built
- Multi-tenant architecture. Strict data isolation per tenant, with shared infrastructure underneath — so onboarding a new client is configuration, not deployment.
- DeepL integration behind an abstraction. The AI translation service sits behind our own interface rather than being called directly from business logic, so the provider is replaceable and testable.
- Glossary management. Per-tenant terminology that the translation layer is forced to respect. This is the feature that makes the difference between “impressive demo” and “usable in production.”
- Version control on translations. Every change is history; any version can be restored.
- Queue-based processing. Large translation jobs run through Laravel queues rather than in the request cycle — so a 10,000-item catalogue import doesn’t time out or block anything else.
- Auth and API surface. OAuth/Passport authentication and authorization, RESTful APIs, PHPUnit coverage, CI/CD, database design and performance monitoring.
Stack
Laravel, MySQL/PostgreSQL, DeepL API, Laravel Queues, Docker, event-driven architecture, REST APIs, OAuth/Passport, PHPUnit, CI/CD.
The part people underestimate
Most “add AI to our product” projects fail on the boring parts, not the model. Calling the API is an afternoon. Multi-tenancy, queueing, cost control, retries and timeouts, terminology consistency, and version history are the actual engineering — and they’re the reason the feature still works six months later with real customers on it.
If you’re adding LLM or AI capability to software that already has users, that’s the work I do →